Meta
go mod
migration
Knative is now completely migrated to Golang modules.
Serving release artifact deprecations
serving.yaml
and serving-cert-manager.yaml
will be shipped for the last time in this release. They have been broken out into separate artifacts. Please refer to the current installation docs for guidance on how to install Knative Serving and its optional components.
Minimum supported Kubernetes version bumped to 1.16
As per the Kubernetes minimum version principle - our current minimum supported Kubernetes version is now 1.16.
Autoscaling
Activator Subsetting (thanks @vagababov)
We compute a subset of Activator pods for each revision in a consistent manner, rather than assigning all. This noticeably improves load balancing for smaller revisions with small container concurrency values.
- Improved pod scraping latency by directly scraping pods if available #7804 (thanks @vagababov)
- Autoscaling Documentation (thanks @markusthoemmes)
- Last pod retention period #7931 (thanks @vagababov)
- Unify Activator and QueueProxy stats reporting libraries and report more precise concurrency values from Activator #7775 (thanks @makusthoemmes)
- Add a global setting which prohibits setting container concurrency to 0 #7932 (thanks @julz)
- Progress deadline is now a configurable parameter #7649 (thanks @vagababov)
- Burst capacity is calculated over the panic window now (thanks @vagababov)
- General code cleanup, test stabilization, etc thanks (@julz, @markusthoemmes, @vagababov, @nak3)
Core API
- Our Revision shape has slightly changed to support multiple containers in the future #7373 (thanks @savitaashture)
Revision.Status.ImageDigest
is deprecated and the digest will appear inRevision.Status.ContainerStatus
.
- Enable K8s dry-run as an experimental feature to provide faster feedback when your template won't create a valid Pod #3425 (thanks @whaught)
- These are currently opt-in via the current annotation (may change)
features.knative.dev/podspec-dryrun: enabled
features.knative.dev/podspec-dryrun: strict
- Strict mode will return failures if dry-run is not supported. This happens when webhooks have side-effects.
- These are currently opt-in via the current annotation (may change)
- Webhook infrastructure now supports receiving a callback when a deletion occurs pkg/#1219 (thanks @whaught)
- Some lingering and deprecated v1alpha1 properties have been removed from our go types
- Reduced some churn reconciling deleted objects when they were tracking dependent resources #7679 (thanks @markusthoemmes)
- genreconciler now allows developers to override the controller’s name pkg/#1137 (thanks @shashwathi @andrew-su)
Networking
- Remove /var/log symlink logic from the queue proxy #7882 (thanks @dprotaso)
- /var/log log capture now supports containers that aren't named
user-container
.
- /var/log log capture now supports containers that aren't named
- Add support for labels in DomainTemplate #7647 (thanks @duglin)
- This allows users to create custom URLs via the template and to choose custom domains in the config-domain configMap via labels.
- net-certmanager repository setup and code migration (thanks @ZhiminXiang)
- Cert-manager related resources for AutoTLS are generated and released from the net-certmanager repository now.
- KIngress no longer uses retries #7842 (thanks @tcnghia)
- Operation name for activator's proxy span and queue-proxy's span are renamed to {activator,queue}_proxy #7934 (thanks @nak3)
- Ingress conformance test for visibility and path #7666 (thanks @andrew-su)
- Better timeouts for the ingress prober #7702 (thanks @JRBANCEL)
- For ingress prober, use default http.Transport and context with timeout for better timeouts #7702 (thanks @JRBANCEL)
- Use "go mod" within net-istio, net-contour, net-certmanager, net-http01 (thanks @andrew-su, @mattmoor, @tcnghia, @ZhiminXiang)
- Propagate status from KCert to Route #7163 (thanks @nak3)