v1.2 release
Published on: 2022-01-28 , Revised on: 2023-08-03
Announcing Knative v1.2 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 v1.2
- Eventing v1.2
- Eventing Extensions
kn
CLI v1.2- Knative Operator v1.2
- Thank you contributors
Highlights¶
- Minimum Kubernetes version is now v1.21.
- Serving added experimental support for PVC.
- Eventing ConfigMap element names are standardized to kebab case.
Use
data-max-size
andchannel-template-spec
instead of the previous camel case elements, which have been deprecated. For more information, see Eventing v1.2. - The
kn
client has added autocomplete for several commands. For more information, see CLI v1.2.
Serving v1.2¶
π¨ Breaking or Notable Changes¶
- Our minimum Kubernetes version is now v1.21. (#12509)
- PodDisruptionBudget updated to v1 API. (#12548)
π« New Features & Changes¶
- Improves the error message when a DomainMapping cannot be reconciled because
autocreate-cluster-domain-claims
is false and the CDC does not exist. (#12439) - Utilizes Kubernetes's immediate trigger of readiness probes after startup. Restores default
periodSeconds
for readiness probe to Kubernetes default (10s). (#12550)
π Bug Fixes¶
- Changes liveness probes to directly probe the user container rather than queue proxy. (#12479)
π§ͺ Experimental¶
- Adds PVC support behind the feature flags
kubernetes.podspec-persistent-volume-claim
andkubernetes.podspec-persistent-volume-write
. (#12458)
Eventing v1.2¶
π¨ Breaking or Notable Changes¶
- Change default Broker delivery spec. (#6011)
- Unify inconsistent ConfigMaps (#5875):
- The Channel template in the ConfigMap that Brokers use to declare the underlying channel must be located under the
channel-template-spec
element. The previouschannelTemplateSpec
element has been deprecated. - PingSource's ConfigMap element for maximum size has been redefined as
data-max-size
. The previousdataMaxSize
element has been deprecated.
- The Channel template in the ConfigMap that Brokers use to declare the underlying channel must be located under the
π« New Features & Changes¶
- Traces generated by PingSource includes some Kubernetes attributes:
k8s.namespace
,k8s.name
,k8s.resource
. (#5928) - Add new
new-trigger-filters
experimental feature. When enabled, Triggers support a newfilters
field that conforms to the filters API field defined in the CloudEvents Subscriptions API. It allows you to specify a set of powerful filter expressions, where each expression evaluates to either true or false for each event. (#5995)
π Bug Fixes¶
- Fixes the following vulnerabilities (#6057):
github.com/knative/pkg
contains a dependency that is subject to DoS attack.github.com/kubernetes/utils
contains a security issue that was discovered where a user might be able to create a container with subpath volume mounts to access files and directories outside of the volume, including on the host filesystem.
Eventing Extensions¶
Apache Kafka Broker v1.2¶
π« New Features & Changes¶
-
An HTTP header will be supplied to your event consumers when the Broker it is communicating with supports reply events. This will always be sent while using this Kafka Broker since it supports handling reply events. (#1771)
-
Apply back-pressure by limiting the number of in-flight dispatch requests in the unordered event consumption. (#1750)
-
Support TLS for the metrics server. Now, the receiver and the dispatcher accept the following environment variables (#1707):
METRICS_PEM_CERT_PATH
: TLS cert pathMETRICS_PEM_KEY_PATH
: TLS key pathMETRICS_HOST
: metrics server host
RabbitMQ Broker and Source v1.2¶
π« New Features & Changes¶
- Improved Broker's and Source's README docs, sample descriptions, and files. (#555)
- Add publisher confirms to ingress. Return 200 only when RabbitMQ confirms receiving and storing the message. (#568)
- Makefile-based workflow. Includes migrating GitHub Actions. (#525, #569, #579)
- Various code refactoring and code health improvements. (#552, #572)
- Source adapter trigger dispatcher homologation. Now the Source Adapter and
Broker Dispatcher's Prefetch Count behavior is the same.
Updated the Trigger's webhook to validate the following (#536):
- Has a default value of 1. FIFO behavior
- Have limits: 1 β€ prefetchCount β€ 1000
- All core Knative Eventing RabbitMQ Pods should now be able to run in the restricted Pod security standard profile. (#541)
π Bug Fixes¶
- Removing the dead letter sink on a Trigger will now properly fall back to the Broker's dead letter sink, if one is defined. (#533)
- Messages sent to RabbitMQ are now marked as Persistent (#560):
- Configuring messages sent into the RabbitMQ Broker to be persistent as the Queues used by the Broker are always durable.
- Now if the user set the configuration of the RabbitMQ Source Exchange and Queue to be durable, the messages are also durable.
Client v1.2¶
π« New Features & Changes¶
- Adds auto-completion for Eventing resources name. (#1567)
- Adds auto-completion for Domain name. (#1562)
- Adds auto-completion for Route name. (#1561)
- Adds auto-completion for Revision name. (#1560)
- Adds auto-completion for Broker name. (#1559)
- Adds auto-completion for Service name. (#1547)
- Removes deprecated Hugo frontmatter generation for docs. (#1563)
π Bug Fixes¶
- Fix for file not found error message discrepancy in Windows. (#1575)
- Fixed panic in
kn channel list
command. (#1568)
Operator v1.2¶
π« New Features & Changes¶
- Add the support of resources configuration based on deploy and container names. (#893)
Thank you, contributors¶
Release leads: @dprotaso and @psschwei
- @benmoss
- @ChunyiLyu
- @devguyio
- @dprotaso
- @gabo1208
- @gvmw
- @houshengbo
- @ikvmw
- @jhill072
- @julz
- @lionelvillard
- @odacremolbap
- @pierDipi
- @psschwei
- @skonto
- @steven0711dong
- @vyasgun
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