Skip to content

Releases: knative/eventing

Knative Eventing release v0.6.0

14 May 20:34
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without Sources or ChannelProvisioners
gcp-pubsub.yaml Just the GCP PubSub ChannelProvisioner
in-memory-channel.yaml Just the in-memory ChannelProvisioner
kafka.yaml Just the Kafka ChannelProvisioner
natss.yaml Just the NATS Streaming ChannelProvisioner
release.yaml Core components bundled with the in-memory ChannelProvisioner

Eventing

WARNING: Release 0.6.0 has a critical bug causing the Broker to drop messages. Please use 0.6.1 or later.

Action Required

  • The in-memory-channel ClusterChannelProvisioner will be deleted in release 0.7, replaced by the in-memory provisioner. Please migrate all in-memory-channel Channels to in-memory. #1044 #1057
  • Trigger's BrokerExists condition is now called Broker. #1071
  • The Kafka dispatcher StatefulSet has been scaled to 0 replicas and replaced with a Deployment. Please delete the StatefulSet eventing-sources/kafka-channel-dispatcher after upgrading to 0.6. #972 #1141
  • CronJobSource and ContainerSource are now installed as part of the Eventing release instead of Eventing Sources. #1092 #1099
  • The in-memory ClusterChannelProvisioner now depends on the config-tracing ConfigMap installed by Eventing. Eventing should be installed first. If the in-memory CCP is installed first, the in-memory dispatcher will crashloop until Eventing is installed. #1199
  • CronJobSource now uses /apis/v1/namespaces//cronjobsources/ as the CloudEvents Source for all events. This replaces the previous /CronJob value. #1209

New Features

  • A new EventType CRD has been introduced to store the event types that can be consumed from the eventing mesh. #1105
  • Upon creating a CronJobSource or ApiServerSource, its EventType will be added to the Registry. #1146 #1201
  • Istio is no longer a dependency of Eventing components. Eventing will still work if Istio is present. #294
  • A new ApiServerSource CRD has been introduced that emits events when Kubernetes objects change. #1108
  • All Channels now support tracing. Tracing is configured by the config-tracing ConfigMap. #1199 #1203 #1204 #1231
  • All controller reconcilers now expose metrics. #1200
  • The ContainerSource now provides additional Kubernetes Events and resource Conditions to assist in debugging knative/eventing-contrib#186

Other Changes

  • Triggers now use paths instead of hosts for routing to subscribers, removing the need to create Kubernetes Service and Istio VirtualService objects.
    Existing Service and VirtualService objects owned by Triggers will not be deleted proactively. They will be cleaned up by Kubernetes GC when their owning Trigger is deleted. #1045
  • Channels using the in-memory-channel provisioner will now have a Deprecated condition. #1062
  • All channels now use Kubernetes Service objects of type ExternalName instead of Istio VirtualService objects. #1044 #1058 #1074 #1099
  • Eventing data plane components no longer force the Istio sidecar to be injected. #1119

Bug Fixes

  • Broker's Ready condition is now only True when its constituent pieces are also Ready. #1064
  • Trigger's Ready condition is now only True when its constituent pieces are also Ready. The Broker condition is now called BrokerExists. #1071
  • Channel's subscriber array now uses uid as a patch key. The ref field is now deprecated. #1057
  • Controllers now have the proper finalizer RBAC permissions. #1086 #1089 #1120
  • Webhook Controller now binds to an unprivileged port. #1130
  • Subscriptions and Triggers watch and track their subscribers so subscriber changes are noticed more quickly. #1149

Knative Eventing release v0.5.0

02 Apr 22:43
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without Sources or ChannelProvisioners
gcp-pubsub.yaml Just the GCP PubSub ChannelProvisioner
in-memory-channel.yaml Just the in-memory ChannelProvisioner
kafka.yaml Just the Kafka ChannelProvisioner
natss.yaml Just the NATS Streaming ChannelProvisioner
release.yaml Core components bundled with the in-memory ChannelProvisioner

Eventing

Action Required

  • Optional: manually delete the unused eventing-controller-admin ClusterRoleBinding. #986
  • Any existing Triggers with Any values will need to be updated to the empty string instead. #985

New Features

  • Introduce Broker and Trigger as event delivery mechanisms. See docs here and here for more info. #788
  • A new channel-default-controller will monitor every channel. It will check if ClusterChannelProvisioner is installed and that the channel-provisioner-specific controller monitors the channel. If provisioner is not installed or corrupt and no controller monitors this channel, then the ProvisionerInstalled condition in status will be set to False and the channel will be marked as not ready. If the provisoner is installed and monitoring the channel then the ProvisionerInstalled condition in status will be set to True. #843
  • Kafka Channels can configure their replication factor with the ReplicationFactor argument. #869
  • Added consumer_mode config option in config map kafka-channel-controller-config, default value is multiplex which retains existing behavior, if you set consumer_mode to be partitions, it creates a go channel per partition for the consumer when dispatching the events to your service. #879
  • Add DEFAULT_NATSS_URL and DEFAULT_CLUSTER_ID configuration to NATS provisioner #881
  • Introduce a new aggregated ClusterRole for Addressable. #1013
  • CRDs are now labelled with knative.dev/crd-install=true to allow installing without race conditions or kubectl errors. #1007

Bug Fixes

  • NATSS channels now recover from connection loss. #796
  • Changed old behavior for kafka channel that existing kafka consumers are stopped and resubscribed when fanout configs are updated, now kafka consumers are reused until corresponding subscription gets deleted.
    #880
  • Add 1GiB memory limit to controller and webhook deployments #921
  • Send Trigger responses back into Broker. #917
  • Support tracing through Broker and Trigger, including replies. #936 #949
  • Expose metrics from the Broker ingress via a Prometheus endpoint. #937
  • An Event can flow through a Broker via Trigger replies only 255 times before getting dropped. #951 #1016
  • RBAC: Webhook now runs as eventing-webhook service account. Controller now runs as eventing-controller service account. Controller and webhook run with less privileges (was using cluster-admin) #872
  • RBAC: knative-eventing-webhook does not have create rule anymore for eventing.knative.dev resources. #987
  • Switch from using subscriber.dnsName to subscriber.uri. subscriber.dnsName will be removed in the next release. #994

Knative Eventing release v0.4.1

12 Mar 09:46
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without Sources or ChannelProvisioners
gcp-pubsub.yaml Just the GCP PubSub ChannelProvisioner
in-memory-channel.yaml Just the in-memory ChannelProvisioner
kafka.yaml Just the Kafka ChannelProvisioner
natss.yaml Just the NATS Streaming ChannelProvisioner
release.yaml Core components bundled with the in-memory ChannelProvisioner

Eventing

  • Created a new in-memory Channel which buffers events and decouples
    sender and receiver. The previous in-memory-channel implementation
    was blocking and senders would block until the event had been
    delivered to the destination. (Thanks to @sbezverk)
  • Add NATS ClusterChannelProvisioner. (Thanks to @radufa)
  • Separated several ClusterChannelProvisioners from the core. (Thanks to @matzew)
  • Add a Knative-message-history attribute recording the channels
    traversed by the event
    (#688)
  • Several eventing resources (ClusterChannelProvisioner, Subscription,
    in-memory, GCP PubSub channels) now emit corev1.Events to improve
    debugging (#746).
  • Cleanup of Conditions to hide Severity=Error when conditions are
    ready.
  • Improved cleanup of subscription and reply.
  • Fixes to ensure Istio injection in the knative-eventing namespace.

Eventing Sources

  • Updated CloudEvents library to better handle both v0.1 and v0.2.

#Knative Eventing release v0.4.0

20 Feb 18:24
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without Sources or ChannelProvisioners
gcp-pubsub.yaml Just the GCP PubSub ChannelProvisioner
in-memory-channel.yaml Just the in-memory ChannelProvisioner
kafka.yaml Just the Kafka ChannelProvisioner
natss.yaml Just the NATS Streaming ChannelProvisioner
release.yaml Core components bundled with the in-memory ChannelProvisioner

Eventing

  • Created a new in-memory Channel which buffers events and decouples
    sender and receiver. The previous in-memory-channel implementation
    was blocking and senders would block until the event had been
    delivered to the destination. (Thanks to @sbezverk)
  • Add NATS ClusterChannelProvisioner. (Thanks to @radufa)
  • Separated several ClusterChannelProvisioners from the core. (Thanks to @matzew)
  • Add a Knative-message-history attribute recording the channels
    traversed by the event
    (#688)
  • Several eventing resources (ClusterChannelProvisioner, Subscription,
    in-memory, GCP PubSub channels) now emit corev1.Events to improve
    debugging (#746).
  • Cleanup of Conditions to hide Severity=Error when conditions are
    ready.
  • Improved cleanup of subscription and reply.
  • Fixes to ensure Istio injection in the knative-eventing namespace.

Eventing Sources

  • Updated CloudEvents library to better handle both v0.1 and v0.2.

Knative Eventing release v0.3.0

10 Jan 07:35
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without Sources or ChannelProvisioners
in-memory-channel.yaml Just the in-memory ChannelProvisioner
kafka.yaml Just the Kafka ChannelProvisioner
release.yaml Core components bundled with the in-memory ChannelProvisioner

Upgrade notes

  • Knative Eventing now requires Kubernetes 1.11, and provides the
    /status subresource. This causes metadata.generation to behave
    like other Kubernetes objects.
  • All conditions in Source statuses now have a Severity field
    indicating if the condition is terminal or non-terminal. See
    knative/serving#2394 (comment).

Eventing core

  • Channels now create VirtualServices using generateName, which should
    prevent collisions with similarly-named objects from other types
    (such as Knative Services).
  • Subscriptions now work with Knative 0.1 and 0.2.0 Services.
  • Defined and documented the ability to select a default
    ClusterChannelProvisioner if one is not specified by the Channel.
  • The legacy pre-0.2 routing resources have been removed.

In-memory channel

  • No substantial changes.

Kafka channel

  • Improved cleanup of finalizers to prevent Kafka channels from
    remaining stuck forever if provisioning fails.

Knative Eventing release v0.2.1

28 Nov 21:52
Compare
Choose a tag to compare
Pre-release
Artifact Description
eventing.yaml Just the core knative/eventing components without sources or channel provisioners
in-memory-channel.yaml Just the in-memory channel provisioner
kafka.yaml Just the Kafka channel provisioner
release.yaml Core components bundled with the in-memory-channel provisioner

Upgrade notes

  • On upgrade from 0.2.0 there will be <10 seconds of unavailability for all in-memory channels. During this time all messages sent to in-memory channels will be lost. The in-memory channel has no durability or reliability guarantees and should only be used for testing or ephemeral messaging.

Eventing core

  • Subscriptions may only subscribe to Channels in the same namespace.
  • Subscriptions can be deleted after their subscribed Channel is deleted.
  • Channels without a specified provisioner will have a default provisioner applied. The default provisioner is specified in the knative-eventing/default-channel-webhook ConfigMap and defaults to in-memory-channel.
  • The ClusterChannelProvisioner is now part of the provisioner CRD category.

In-memory channel

  • In-memory channel is now the default for Channels that don't specify a provisioner.
  • Renamed channel dispatcher k8s service from in-memory-channel-clusterbus.svc.cluster.local to in-memory-channel-dispatcher.svc.cluster.local.

Kafka channel

Initial release.

Knative Eventing release v0.2.0

13 Nov 01:00
Compare
Choose a tag to compare
Pre-release

First Knative Eventing alpha release!