mirror of https://github.com/knative/docs.git
Release notes 0.19 (#3027)
* blog release notes for knative 0.19 * added serving section to release notes 0.19 * Add eventing release notes * add kafka broker * add eventing contrib * fix rendering * Add CLi * added cli contributors * fix sort for contributors * fix more headers * add itsmurugappan@ to list of contributors thanks to rhuss@ for the catch * fixed misspells * Add operator * add rabbitmq to toc
This commit is contained in:
parent
191c6a718f
commit
7d0402065f
|
@ -0,0 +1,284 @@
|
|||
---
|
||||
title: "Version v0.19 release"
|
||||
linkTitle: "Version v0.19 release"
|
||||
Author: "[Carlos Santana](https://twitter.com/csantanapr)"
|
||||
Author handle: https://github.com/csantanapr
|
||||
date: 2020-11-13
|
||||
description: "Knative v0.19 release announcement"
|
||||
type: "blog"
|
||||
image: knative-eventing.png
|
||||
---
|
||||
|
||||
|
||||
### Announcing Knative v0.19 Release
|
||||
|
||||
A new version of Knative is now available across multiple components.
|
||||
Follow the instructions in the documentation [Installing Knative](https://knative.dev/docs/install/) for the respective component.
|
||||
|
||||
#### Table of Contents
|
||||
- [Serving v0.19](#serving-v019)
|
||||
- [Eventing v0.19](#eventing-v019)
|
||||
- Eventing Extensions
|
||||
- [Eventing Kafka Broker v0.19](#eventing-kafka-broker-v019)
|
||||
- [Eventing Gitlab v0.19](#eventing-gitlab-v019)
|
||||
- [Eventing RabbitMQ v0.19](#eventing-rabbitmq-v019)
|
||||
- [CLI v0.19](#client-v019)
|
||||
- [Operator v0.19](#operator-v019)
|
||||
- [Thank you contributors v0.19](#thank-you-contributors-v0.19)
|
||||
|
||||
|
||||
### Highlights
|
||||
|
||||
- All components built by Knative are now multi architecture including `arm64` which is the architecture used in ARM based machines like the [Raspberry pi](https://www.raspberrypi.org/).
|
||||
- The monitoring bundle has been removed and the git repository archived.
|
||||
- Improvements for cold start by adding a scale down delay.
|
||||
- No longer mounting `/var/log` this allows certain images like `docker.io/nginx` that use this directory to be use as Knative Service.
|
||||
- New Alpha feature that allows for domain name mapping at namespace scope.
|
||||
- You specify delivery spec defaults for brokers in Eventing configmap `config-br-defaults`
|
||||
- Eventing keeps improving stability by squashing bugs.
|
||||
- The CLI now offers `arm64` binary, and introduce two new commands `kn service apply` and `kn service import`
|
||||
|
||||
### Serving v0.19
|
||||
|
||||
🚨 Breaking
|
||||
- The deprecated monitoring bundle has been removed ([#9807](https://github.com/knative/serving/pull/9807))
|
||||
- Drop serving v1alpha1 and v1beta1 APIs ([#9617](https://github.com/knative/serving/pull/9617), [#9620](https://github.com/knative/serving/pull/9620))
|
||||
- We only mount a volume at `/var/log` if the operator has enabled log collection. Runtime contract `/var/log` requirement has changed from MUST to MAY ([#9683](https://github.com/knative/serving/pull/9683)]
|
||||
|
||||
💫 New Features & Changes
|
||||
- Adds a Scale Down Delay feature, allowing maintaining replica count for a configurable period after request count drops to avoid cold start penalty. ([#9626](https://github.com/knative/serving/pull/9626))
|
||||
- (Alpha) Adds a DomainMapping CRD in v1alpha1, allowing mapping a custom domain name to a Knative Service ([#9714](https://github.com/knative/serving/pull/9714), [#9735](https://github.com/knative/serving/pull/9735), [#9752](https://github.com/knative/serving/pull/9752), [#9796](https://github.com/knative/serving/pull/9796), [#9915](https://github.com/knative/serving/pull/9915), [#10044](https://github.com/knative/serving/pull/10044))
|
||||
- Adding cluster-wide flag max-scale-limit. This ensures that both cluster-wide flag max-scale and per-revision annotation "autoscaling.knative.dev/maxScale" for new revision will not exceed this number. ([#9577](https://github.com/knative/serving/pull/9577))
|
||||
- All of our deployments run with a minimal set of kernel capabilities. ([#9973](https://github.com/knative/serving/pull/9973))
|
||||
- Autoscaler now supports multiple pods. Autoscaler Deployment needs to be scaled to 0 first then scaled to other replica value. ([#9682](https://github.com/knative/serving/pull/9682))
|
||||
- Updated the Service schema to include a high level basic schema. ([#9436](https://github.com/knative/serving/pull/9436), [#9953](https://github.com/knative/serving/pull/9953))
|
||||
- Queue-proxies are no longer allow to run as root, they have a read-only root filesystem and have all capabilities dropped. ([#9974](https://github.com/knative/serving/pull/9974))
|
||||
- ResponsiveRevisionGC is enabled by default ([#9710](https://github.com/knative/serving/pull/9710))
|
||||
- Revisions are now named more clearly and consistently. ([#9740](https://github.com/knative/serving/pull/9740))
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Domain is validated by k8s library IsFullyQualifiedDomainName(). ([#10023](https://github.com/knative/serving/pull/10023))
|
||||
- Fixed a rare nil-pointer exception in the autoscaler ([#9794](https://github.com/knative/serving/pull/9794))
|
||||
- Ingress is reconciled when label was different from desired. ([#9719](https://github.com/knative/serving/pull/9719))
|
||||
|
||||
### Eventing v0.19
|
||||
|
||||
💫 New Features & Changes
|
||||
- Config-br-defaults support setting delivery spec defaults ([#4328](https://github.com/knative/eventing/pull/4328))
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Fix a bug which could cause eventing-webhook to crashloop on initial creation. ([#4168](https://github.com/knative/eventing/pull/4168))
|
||||
- Change the image pull policy so sinkbinding source tests work with kind. ([#4317](https://github.com/knative/eventing/pull/4317))
|
||||
- Dependency readiness could sometimes be missed because mismatched informer/lister was being used in the trigger reconciler. ([#4296](https://github.com/knative/eventing/pull/4296))
|
||||
- Dispatcher was incorrectly behaving like a normal reconciler instead of skipping status updates. I wonder if this was causing grief battling the normal reconciler. ([#4280](https://github.com/knative/eventing/pull/4280))
|
||||
- Fix issue [#4375](https://github.com/knative/eventing/issues/4375) where we would not reconcile changes to reconcile policy or duration. ([#4405](https://github.com/knative/eventing/pull/4405))
|
||||
- Only update the subscriber statuses in IMC after they have been added to handlers. Reduces failures where the
|
||||
subscribers have been marked before the dataplane has been actually configured. ([#4435](https://github.com/knative/eventing/pull/4435))
|
||||
- Retry on network failures ([#4454](https://github.com/knative/eventing/pull/4454))
|
||||
- ingress / filter now handle proper k8s lifecycle. ([#3917](https://github.com/knative/eventing/pull/3917))
|
||||
- KnativeHistory extension is not added anymore to events going through channels ([#4366](https://github.com/knative/eventing/pull/4366))
|
||||
|
||||
🧹 Clean up
|
||||
- Move fuzzer (test related code) to test files so they don't get baked into our binaries. Small reduction in binary size. ([#4399](https://github.com/knative/eventing/pull/4399))
|
||||
- DeliverySpec validation rejects a negative retry config. ([#4216](https://github.com/knative/eventing/pull/4216))
|
||||
- Just clean up some unused fields from the mtbroker reconciler struct. ([#4318](https://github.com/knative/eventing/pull/4318))
|
||||
- Point to Broker ref instead of using a hard coded path. Also makes things little easier to reuse against other brokers. ([#4278](https://github.com/knative/eventing/pull/4278)))
|
||||
- Reducing places where we pull in fuzzers. ([#4447](https://github.com/knative/eventing/pull/4447))
|
||||
- Simplify the IMC implementation, reduce churn due to global resyncs. ([#4359](https://github.com/knative/eventing/pull/4359))
|
||||
- Use github action to run codecov. ([#4237](https://github.com/knative/eventing/pull/4237))
|
||||
- remove all knative fuzzers from our binaries. ([#4402](https://github.com/knative/eventing/pull/4402))
|
||||
- Move ContainerSource to v1 API. ([#4257](https://github.com/knative/eventing/pull/4257))
|
||||
- Eventing now tests the supported Kubernetes version range pre-submit. ([#4273](https://github.com/knative/eventing/pull/4273)))
|
||||
- Run kind e2e tests every 4 hours on Github actions. ([#4412](https://github.com/knative/eventing/pull/4412))
|
||||
- Updated go-retryablehttp to v0.6.7 ([#4423](https://github.com/knative/eventing/pull/4423))
|
||||
|
||||
|
||||
### Eventing Contributions v0.19
|
||||
|
||||
#### Eventing Kafka Broker v0.19
|
||||
|
||||
Release Notes for [eventing-kafka-broker](https://github.com/knative-sandbox/eventing-kafka-broker)
|
||||
|
||||
**Actions Required (pre-upgrade)**
|
||||
- Run `kubectl delete configmap -n knative-eventing kafka-broker-brokers-triggers`
|
||||
|
||||
🚨 Breaking
|
||||
- Default replication factor is 3 (1 previously) ([#375](https://github.com/knative-sandbox/eventing-kafka-broker/pull/375))
|
||||
|
||||
|
||||
💫 New Features & Changes
|
||||
- `eventing-kafka.yaml` can be used to install Broker and KafkaSink. ([#367](https://github.com/knative-sandbox/eventing-kafka-broker/pull/367))
|
||||
- Data plane pods expose server and client metrics in Prometheus format. ([#231](https://github.com/knative-sandbox/eventing-kafka-broker/pull/231) [#244](https://github.com/knative-sandbox/eventing-kafka-broker/pull/244))
|
||||
- The receiver component exposes:
|
||||
- `http_requests_produce_total` - Number of accepted produce requests (200-level responses)
|
||||
- `http_requests_malformed_total` - Number of malformed produce requests (400-level responses)
|
||||
- The dispatcher component exposes:
|
||||
- `http_events_sent_total` - Number of events delivered to Apache Kafka
|
||||
- The Broker retries sending events. ([#268](https://github.com/knative-sandbox/eventing-kafka-broker/pull/268) [#263](https://github.com/knative-sandbox/eventing-kafka-broker/pull/263) [#258](https://github.com/knative-sandbox/eventing-kafka-broker/pull/258))
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Remove config-logging volume from the controller ([#288](https://github.com/knative-sandbox/eventing-kafka-broker/pull/288))
|
||||
- Thread blocked when logging large configurations in debug mode ([#346](https://github.com/knative-sandbox/eventing-kafka-broker/pull/346) [#378](https://github.com/knative-sandbox/eventing-kafka-broker/pull/378))
|
||||
|
||||
🧹 Clean up
|
||||
- The container image's sizes are ~90MB instead of ~287MB. ([#265](https://github.com/knative-sandbox/eventing-kafka-broker/pull/265) [#306](https://github.com/knative-sandbox/eventing-kafka-broker/pull/306))
|
||||
- Gracefully clean up resources on shutdown ([#334](https://github.com/knative-sandbox/eventing-kafka-broker/pull/334))
|
||||
- `KafkaSink` usage: https://gist.github.com/matzew/e2c2fcd2696a346f25b8bc9e64bfd0fa
|
||||
|
||||
|
||||
#### Eventing Gitlab v0.19
|
||||
|
||||
Release Notes for [eventing-gitlab](https://github.com/knative-sandbox/eventing-gitlab)
|
||||
|
||||
💫 New Features & Changes
|
||||
- Declare event types emitted by a GitLabSource instance so they are propagated as Knative EventTypes. ([#24](https://github.com/knative-sandbox/eventing-gitlab/pull/24))
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Sanitize the type attribute of emitted CloudEvents so it doesn't contain spaces and capital letters. ([#24](https://github.com/knative-sandbox/eventing-gitlab/pull/24))
|
||||
|
||||
🧹 Clean up
|
||||
- Ensure the source attribute of emitted CloudEvents is stable and predictable. ([#24](https://github.com/knative-sandbox/eventing-gitlab/pull/24))
|
||||
|
||||
|
||||
#### Eventing RabbitMQ v0.19
|
||||
|
||||
Release Notes for [eventing-rabbitmq](https://github.com/knative-sandbox/eventing-rabbitmq)
|
||||
|
||||
💫 New Features & Changes
|
||||
- Implement Dead Letter Queue
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Fix a bug where Trigger Dependency would not be always tracked correctly
|
||||
- Fix bug where in non-default cluster names the network names would be incorrect
|
||||
|
||||
🧹 Clean up
|
||||
- Use Kind for e2e tests as well as use common github actions from Knative.
|
||||
|
||||
|
||||
### Client v0.19
|
||||
|
||||
- The `kn` 0.19.0 introduces two new commands (`kn service apply` and `kn service import`) and removes some deprecated options, in addition to bug fixes and some other goodies described below.
|
||||
- You can find the full list of changes in the [CHANGELOG](https://github.com/knative/client/blob/master/CHANGELOG.adoc).
|
||||
|
||||
🚨 Breaking
|
||||
|
||||
The following deprecated options have been removed:
|
||||
|
||||
- `--async` for all CRUD commands. Use `--no-wait` instead
|
||||
- `--requests-cpu`, `--request-memory`, `--limits-cpu` and `--limits-memory` when managing services. The replacement is to use `--limit memory=..` and `--limit cpu=...` (same for `--request`). Both options can be combined as in `--limit memory=256Mi,cpu=500m`
|
||||
|
||||
💫 New Features & Changes
|
||||
|
||||
#### `kn service apply`
|
||||
|
||||
- A new `kn service apply` command has been added to allow a _declarative management_ for your Knative service.
|
||||
This new command is especially useful in can CI/CD context to allow for idempotent operations when creating or updating services.
|
||||
It works much like `kubectl apply` and used a client-side 3-way merge algorithm to update service. The kubectl merge algorithm is directly reused here.
|
||||
As `apply` operates on Knative's custom resource types, it suffers the same limitation as the client-side merge algorithm in `kubectl apply` when dealing with CRDs.
|
||||
I.e. arrays can't be merged but are just overwritten by an update.
|
||||
This limitation affects all containers specific parameters.
|
||||
|
||||
- For the future, we plan to add a better merge algorithm that supports a full strategic 3-way merge like the support of `kubectl apply` has for intrinsic K8s resources.
|
||||
|
||||
- It is important to note that `kn service apply` is fundamentally different to `kn service update` as with `kn service apply` the full configuration needs to be provided as command-line options or within a declaration file when used with `--filename`.
|
||||
With `kn service update` you only specify the parts to be updated and don't touch any other service configuration.
|
||||
This characteristic of `apply` also implies that you always have to provide the image as the only mandatory parameter with `kn service apply`.
|
||||
|
||||
- For example:
|
||||
```
|
||||
# Initially apply a service with the given image and env var
|
||||
kn service apply random --image rhuss/random:1.0 --env foo=bar
|
||||
|
||||
# Update the service to add a ying=yang env var to the already existing one
|
||||
kn service update random --env ying=yang
|
||||
|
||||
# Apply a full new configuration. Note that foo=bar will be removed
|
||||
# because it is not specified here.
|
||||
kn service apply random --image rhuss/random:1.0 --env ying=yang
|
||||
```
|
||||
|
||||
#### `kn service import`
|
||||
|
||||
- `kn service import` is the counterpart to `kn service export` and allows you to import a Service and all active revision that has been exported.
|
||||
_Active revisions_ are revisions that are referenced in a traffic-split.
|
||||
|
||||
- This command is still marked experimental, and there are some known issues in the import how the `generation` of revision are created.
|
||||
Please gives us feedback on how we can improve the support for this feature.
|
||||
|
||||
#### Other CLI Features
|
||||
|
||||
The following other features have been added, too:
|
||||
|
||||
- An `arm64` flavour has been added to the released artefacts, as well as a `checksum.txt` which caries the sha256sum of all artefacts.
|
||||
- A `channel:` prefix has been added for `--sink` parameters, so that channels can be directly addressed by name.
|
||||
- Aliases are now appearing correctly in the help messages
|
||||
- The [Client API](https://github.com/knative/client/blob/b93ca9b34d56621350e43a714a79ba32bd20d7b0/pkg/serving/v1/client.go#L49-L117) as a new list filter `WithLabel()` which can be used when listing services.
|
||||
|
||||
### Operator v0.19
|
||||
|
||||
The new operator can now deploy the new version `v0.19` of serving and eventing components.
|
||||
|
||||
🐞 Bug Fixes
|
||||
- Add validation to the field spec.version ([#319](https://github.com/knative/operator/pull/319))
|
||||
- Add support of the major.minor format for spec.version ([#326](https://github.com/knative/operator/pull/326))
|
||||
- Removing incorrect pre-job for 0.17.0 ([#325](https://github.com/knative/operator/pull/325))
|
||||
|
||||
🧹 Clean up
|
||||
- Update to pkg test/KubeClient changes ([#304](https://github.com/knative/operator/pull/304))
|
||||
- Lint: previous condition includes return statement, pop else statement ([#305](https://github.com/knative/operator/pull/305))
|
||||
- Drop istio dependency and replace with unstructured operations ([#311](https://github.com/knative/operator/pull/311))
|
||||
- Drop dependency on pkg/errors ([#310](https://github.com/knative/operator/pull/310))
|
||||
- Validate the major.minor as the version matching mechanism for customized manifests ([#320](https://github.com/knative/operator/pull/320))
|
||||
- Use the hack repository for scripts ([#333](https://github.com/knative/operator/pull/333))
|
||||
- Use the new update_deps script ([#332](https://github.com/knative/operator/pull/332))
|
||||
|
||||
### Thank you contributors v0.19
|
||||
|
||||
- [@antoineco](https://github.com/antoineco)
|
||||
- [@daisy-ycguo](https://github.com/daisy-ycguo)
|
||||
- [@danielhelfand](https://github.com/danielhelfand)
|
||||
- [@dprotaso](https://github.com/dprotaso)
|
||||
- [@dsimansk](https://github.com/dsimansk)
|
||||
- [@eclipselu](https://github.com/eclipselu)
|
||||
- [@houshengbo](https://github.com/houshengbo)
|
||||
- [@ian-mi](https://github.com/ian-mi)
|
||||
- [@itsmurugappan](https://github.com/itsmurugappan)
|
||||
- [@joshuawilson](https://github.com/joshuawilson)
|
||||
- [@julz](https://github.com/julz)
|
||||
- [@lberk](https://github.com/lberk)
|
||||
- [@markusthoemmes](https://github.com/markusthoemmes)
|
||||
- [@mattmoor](https://github.com/mattmoor)
|
||||
- [@matzew](https://github.com/matzew)
|
||||
- [@n3wscott](https://github.com/n3wscott)
|
||||
- [@nak3](https://github.com/nak3)
|
||||
- [@navidshaikh](https://github.com/navidshaikh)
|
||||
- [@pierDipi](https://github.com/pierDipi)
|
||||
- [@rhuss](https://github.com/rhuss)
|
||||
- [@runzexia](https://github.com/runzexia)
|
||||
- [@sheetalsingala](https://github.com/sheetalsingala)
|
||||
- [@slinkydeveloper](https://github.com/slinkydeveloper)
|
||||
- [@taragu](https://github.com/taragu)
|
||||
- [@vaikas](https://github.com/vaikas)
|
||||
- [@whaught](https://github.com/whaught)
|
||||
- [@yanweiguo](https://github.com/yanweiguo)
|
||||
- [@zroubalik](https://github.com/zroubalik)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Learn more
|
||||
|
||||
Knative is an open source project that anyone in the [community](https://knative.dev/community/) can use, improve, and enjoy. We'd love you to join us!
|
||||
|
||||
- [Welcome to Knative](https://knative.dev/docs#welcome-to-knative)
|
||||
- [Getting started documentation](https://knative.dev/docs/#getting-started)
|
||||
- [Samples and demos](https://knative.dev/docs#samples-and-demos)
|
||||
- [Knative meetings and work groups](https://knative.dev/contributing/#working-group)
|
||||
- [Questions and issues](https://knative.dev/contributing/#questions-and-issues)
|
||||
- [Knative User Mailing List](https://groups.google.com/forum/#!forum/knative-users)
|
||||
- [Knative Development Mailing List](https://groups.google.com/forum/#!forum/knative-dev)
|
||||
- Knative on Twitter [@KnativeProject](https://twitter.com/KnativeProject)
|
||||
- Knative on [StackOverflow](https://stackoverflow.com/questions/tagged/knative)
|
||||
- Knative [Slack](https://slack.knative.dev)
|
||||
- Knative on [YouTube](https://www.youtube.com/channel/UCq7cipu-A1UHOkZ9fls1N8A)
|
Loading…
Reference in New Issue