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¶
- Highlights
- Serving v0.25
- Eventing v0.25
- Eventing Extensions
kn
CLI v0.25- Operator v0.25
- Thank you contributors
Highlights¶
- 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 likekn-quickstart
Serving v0.25¶
π¨ Breaking or Notable Changes¶
-
Renaming of some
net-kourier
componentRelated 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 usingkubectl
please follow the steps:```bash # 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 sincev0.15.0
release in favour ofnetworking.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 usingbrew install knative-extensions/kn-plugins/quickstart
then use it withkn quickstart kind
this will create a kind cluster with knative installed. Make sure to updatekn
tov0.25
for example usingbrew 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¶
- @antoineco
- @benmoss
- @cardil
- @devguyio
- @dsimansk
- @evankanderson
- @houshengbo
- @itsmurugappan
- @julz
- @lionelvillard
- @matzew
- @nak3
- @nealhu
- @pierDipi
- @psschwei
- @psschwei
- @rhuss
- @senthilnathan
- @travis-minke-sap
- @upodroid
- @vyasgun
- @zhaojizhuang
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!
- Welcome to Knative
- Getting started documentation
- Samples
- Knative working groups
- Knative User Mailing List
- Knative Development Mailing List
- Knative on Twitter @KnativeProject
- Knative on StackOverflow
- Knative Slack
- Knative on YouTube