You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
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
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.
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.
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.
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.