v0.25 release

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

Announcing Knative v0.25 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


  • In preparation for GA, the net-kourier components have been renamed. See Breaking Changes in the Serving section.
  • The depecreated namespace label networking.internal.knative.dev/disableWildcardCert is now removed. See Breaking Changes in the Serving section.
  • Trigger ready status now takes into account the DeadLetterURI
  • The kn CLI now looks for plugin in the $PATH allowing for easy installation of plugins like kn-quickstart

Serving v0.25

🚨 Breaking or Notable Changes

  • Renaming of some net-kourier component

    Related issue: knative/networking#448

    As part of our efforts to GA/1.0 we've standardized on the naming of our networking plugins that are installed alongside Serving. If you're managing your Knative deployment manually with kubectl this will require a two-phase upgrade process. In order to upgrade net-kourier to v0.25.0 using kubectl please follow the steps:

    # Apply the new release
    $ kubectl apply -f net-kourier.yaml
    # Once the deployment is ready apply the same file but
    # prune the old resources
    $ kubectl apply -f net-kourier.yaml \
    --prune -l networking.knative.dev/ingress-provider=kourier
    • Disabling namespace certificate provisioning legacy label

    The namespace label networking.internal.knative.dev/disableWildcardCert has been deprecated since v0.15.0 release in favour of networking.knative.dev/disableWildcardCert. We have dropped support for this legacy label (#11626)

πŸ’« New Features & Changes

  • A feature flag is available to enable priorityClassName for Knative Services. See config-features for details. (#11746)
  • Add memory metrics for HPA: hpa.autoscaling.knative.dev (#11668)
  • Added app.kubernetes.io/name labels to resources. It will be replacing app labels in the future. (#11655)
  • Users can set in the field spec.template.spec.containers[*].securityContext.runAsNonRoot to true in a PodSpec without a feature flag (#11606)
  • Users can set in the field spec.template.spec.automountServiceAccountToken to false in a PodSpec in order to opt-out of Kubenetes' default behaviour of mounting a ServiceAccount token in that Pod's containers. (#11723)
  • Add v1beta1 version of DomainMapping CRD (#11682)

🐞 Bug Fixes

  • Set ENABLE_HTTP2_AUTO_DETECTION to false by default if the feature is not enabled. (#11760)

Eventing v0.25

πŸ’« New Features & Changes

  • Add DeadLetterURI to Trigger status, block ready until it is resolvable (#5551)
  • Add a health endpoint to event_display for enabling readiness probes. (#5608)
  • Adds support for HTTP OPTIONS and CloudEvents Webhook preflight (#5542)

🐞 Bug Fixes

  • PingSource schedules starting with @every are now properly rejected. (#5585)

Eventing Extensions

Apache Kafka Broker v0.25

πŸ’« New Features & Changes

  • The Trigger status contains the resolved URL of the configured dead letter sink. (#1092)

🐞 Bug Fixes

  • Fix to support subscribers that are a Kubernetes service. The service's endpoint doesn't contain a trailing slash. (#1123)

Apache Kafka Source and Channels v0.25

πŸ’« New Features & Changes

  • Distributed KafkaChannel Dispatcher will now re-queue KafkaChannels after failed reconciliation which will improve various failure recovery scenarios, but could consume CPU resources if reconciliation is blocked by underlying system issues (bad Kafka Secret config, etc.) (#795)
  • Separated CRDs to extra, additional YAML manifest (similar to eventing) (#799)
  • Enabled support for ResetOffset CRD in distributed KafkaChannel, see config/command/resetoffset for details. (#761)
  • The consolidated KafkaChannel dispatcher is now owned by the controller. (#798)

Client v0.25

πŸ’« New Features & Changes

  • The new plugin kn-quickstart is now part of the home-brew plugins suite. Install the plugin using brew install knative-extensions/kn-plugins/quickstart then use it with kn quickstart kind this will create a kind cluster with knative installed. Make sure to update kn to v0.25 for example using brew upgrade kn

  • Deprecate lookup-path as path lookup will always be enabled in the future (#1422)

  • Add --tls option to domain create command (#1419)
  • Lookup plugins in $PATH by default (#1412)
  • Add --class flag to broker create command (#1402)
  • Add darwin/arm64 support to kn (#1401)
  • Add base64 data handling to Ping commands (#1392) (#1388)
  • Add support for multiple containers in Service spec (#1382)
  • Make --cmd flag an array instead of string (#1380)
  • Add a client.knative.dev/updateTimestamp annotation to trigger a new revision when required (#1364)

🐞 Bug Fixes

  • Fix plugin lookup for arguments with slashes (#1415)
  • Show server error messages without any taints (#1406)
  • Fix path not being escaped when applying a regex on Windows (#1395)
  • Fix wait for ready to skip non modified event first (#1390)

Operator v0.25

πŸ’« New Features & Changes

  • Detect missing Istio requirement and suggests user to instal the Istio Gateway CRD #697

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