Releases: knative/eventing
Releases · knative/eventing
Knative Eventing release v0.13.0
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
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
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
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
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
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
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
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:
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
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.
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 Broker
s/Trigger
s 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
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.
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