Releases: knative/eventing
Releases · knative/eventing
Knative Eventing release v0.6.0
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
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
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
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
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
Kafka channel
- Improved cleanup of finalizers to prevent Kafka channels from
remaining stuck forever if provisioning fails.
Knative Eventing release v0.2.1
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
First Knative Eventing alpha release!