v1.0 release

Published on: 2021-11-08 ,  Revised on: 2023-08-03

Announcing Knative v1.0 Release

A new version of Knative is now available across multiple components.

Follow the instructions in the documentation Installing Knative for the respective component.

Table of Contents

Highlights

  • All components versions are now tagged knative-v1.0.0, for users using go library use version v0.27
  • The per-namespace wildcard certificate provisioner has been integrated into the base controllers
  • By default, the Prefer: reply header is forwarded to Broker Triggers' subscribers

Serving v1.0

🚨 Breaking or Notable Changes

  • The per-namespace wildcard certificate provisioner has been integrated into the base controllers and is now controlled by the namespace-wildcard-cert-selector field. This field allows you to use a Kubernetes LabelSelector to choose which namespaces should have certificates provisioned.

  • To migrate existing usage of the serving-nscert controller, do the following:

    • Set the namespace-wildcard-cert-selector to the value:
      matchExpressions:
      - key: "networking.knative.dev/disableWildcardCert"
        operator: "NotIn"
        values: ["true"]
      
    • Remove the Deployment, Service and ClusterRole defined by the serving-nscert.yaml resources in the previous release (#12174)

πŸ’« New Features & Changes

  • Per-namespace wildcard certificate provisioning has been integrated into the main Knative controllers and is no longer a separate install. It is now controlled by a label selector on Kubernetes namespaces.
  • A new experimental feature, "concurrencyStateEndpoint", allows a webhook to be informed when a container's concurrency goes to/from zero (#11802, #12162, #11917)
  • When mesh compatibility mode is not set to "auto" in the networking config map, the activator will respect Kubernetes's readiness state and avoid probing when kubernetes readiness propagates more quickly than the activator's probe. (#12086)

🐞 Bug Fixes

  • Fixes an issue where TLS certificates are requested before domain-ownership is established. (#12080)

Eventing v1.0

🚨 Breaking or Notable Changes

  • If the "strict-subscriber" feature flag is set, Subscriptions will require spec.subscriber to be set. Previously, a bare spec.reply would be accepted by Subscriptions. This feature will be enabled in the 1.1 release; it breaks compatibility with previous versions in order to track the eventing spec and improve the user experience when using Subscriptions. (#5762)

πŸ’« New Features & Changes

  • By default, the Prefer: reply header is forwarded to Broker Triggers' subscribers (#5773)
  • The Header Prefer: reply is added to the request sent to a Subscription Subscriber if the spec.reply field is set. (#5764)
  • The field spec.delivery.deadLetterSink.ref.namespace for Broker, Trigger, Channel and Subscription if not specified is defaulted to metadata.namespace. (#5748)
  • Adds deadLetterSinkUri to the Channel status.
    • Deprecates deadLetterChannel with a 1-year timer. (#5746)
  • Channel and Subscription will now enforce validation of the "delivery" field. (#5777)
  • Next generation Multi-Tenant Scheduler and Descheduler: uses a plugin interface to specify a Scheduler profile with predicates and priorities that run filtering and scoring of pods, respectively to compute the best vreplica placements. When the autoscaler adds new pods, scheduler performs a rebalancing of the already placed vreplicas along with the new vreplicas. A Descheduler profile must be installed when vreplicas need to be scaled down and placements removed. (#5818)
  • Add UID to the available Kreference mapping resolver template field (#5810)

🐞 Bug Fixes

  • Fix issue with Parallel updates leaked resources. In order for the fix to work the provided Channel must include the delete verb at the ClusterRole labeled duck.knative.dev/channelable. (#5775)
  • Fix issue with Sequence updates leaked resources. In order for the fix to work the provided Channel must include the delete verb at the ClusterRole labeled duck.knative.dev/channelable. (#5718)

Eventing Extensions

Apache Kafka Broker v1.0

πŸ’« New Features & Changes
  • ClusterRole knative-kafka-data-plane for KafkaBroker has been renamed to knative-kafka-broker-data-plane (#1315)
  • ServiceAccount knative-kafka-data-plane for KafkaBroker has been renamed to knative-kafka-broker-data-plane (#1315)
  • ClusterRoleBinding knative-kafka-data-plane for KafkaBroker has been renamed to knative-kafka-broker-data-plane (#1315)
  • ClusterRole knative-kafka-data-plane for KafkaSink has been renamed to knative-kafka-sink-data-plane (#1315)
  • ServiceAccount knative-kafka-data-plane for KafkaSink has been renamed to knative-kafka-sink-data-plane (#1315)
  • ClusterRoleBinding knative-kafka-data-plane for KafkaSink has been renamed to knative-kafka-sink-data-plane (#1315)
  • Set status.deadLetterSinkUri of Broker and Trigger to the resolved URI of spec.delivery.deadLetterSink (#1349)

RabbitMQ Broker and Source v1.0

πŸ’« New Features & Changes
  • A trigger will now send events to its subscriber in parallel, with the number of in-flight messages defaulting to 10 and configurable via the annotationrabbitmq.eventing.knative.dev/prefetchCount. (#418)
  • Trigger filters are now enforced to be immutable, since the underlying RMQ binding is immutable (#468)
🐞 Bug Fixes
  • Brokers will no longer create a queue for dead-lettered events if no dead letter sink is defined (#453)

Client v1.0

πŸ’« New Features & Changes

  • Remove deprecated flags --lookup-path (#1506)
  • Rename --extra-containers to --containers (#1499)
  • Remove deprecated flags --min-scale and --max-scale (#1498)
  • Remove deprecated flags --limits-cpu and --limits-memory (#1498)
  • Add more explanation to missing API error message (#1497)
  • Deprecate --concurrency-target and --concurrency-utilization in favor of --scale-target and --scale-utilization, respectively (#1490)
  • Deprecate --autoscale-window in favor of --scale-window (#1489)
  • Calculate traffic split when N-1 revisions are specified (#1483)
  • Create a default config file if it doesn’t exist (#1472)

🐞 Bug Fixes

  • Fix domain describe reference to show correct kind (#1477)

Operator v1.0

πŸ’« New Features & Changes

  • Adding COC, contributing doc (#790)
  • Remove pingsource-mt-adapter from the list of unsupported HA (#788)
  • Apply high-availability to all deployments managed by operator (#749) fix misspelling of with (#781)
  • Add the support of spec.deployments.affinity (#777)
  • Adjust maxReplicas in HPA when high-availability has larger number (#748)
  • Prepare the Knative Operator for the label app.kubernetes.io/version (#738)
  • Allow to set Tolerations via spec.deployments.tolerations (#747)
  • Remove pingsource from HA scaling (#740)
  • Drop deprecated enabledComponents field setting (#735)
  • Use knative.dev/hack/codegen-library.sh in hack/update-codegen.sh (#734)
  • Remove heartbeats for eventing (#792)

🐞 Bug Fixes

  • Fix the error issue with installing spec.manifests (#750)

Thank you, contributors

Learn more

Knative is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us!

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK