// Module included in the following assemblies
//
// * /serverless/serverless-release-notes.adoc

:_mod-docs-content-type: REFERENCE
[id="serverless-rn-1-18-0_{context}"]
= Release notes for Red Hat {ServerlessProductName} 1.18.0

{ServerlessProductName} 1.18.0 is now available. New features, changes, and known issues that pertain to {ServerlessProductName} on {product-title} are included in this topic.

[id="new-features-1-18-0_{context}"]
== New features

* {ServerlessProductName} now uses Knative Serving 0.24.0.
* {ServerlessProductName} now uses Knative Eventing 0.24.0.
* {ServerlessProductName} now uses Kourier 0.24.0.
* {ServerlessProductName} now uses Knative (`kn`) CLI 0.24.0.
* {ServerlessProductName} now uses Knative Kafka 0.24.7.
* The `kn func` CLI plugin now uses `func` 0.18.0.
* In the upcoming {ServerlessProductName} 1.19.0 release, the URL scheme of external routes will default to HTTPS for enhanced security.
+
If you do not want this change to apply for your workloads, you can override the default setting before upgrading to 1.19.0, by adding the following YAML to your `KnativeServing` custom resource (CR):
+
[source,yaml]
----
...
spec:
  config:
    network:
      defaultExternalScheme: "http"
...
----
+
If you want the change to apply in 1.18.0 already, add the following YAML:
+
[source,yaml]
----
...
spec:
  config:
    network:
      defaultExternalScheme: "https"
...
----

* In the upcoming {ServerlessProductName} 1.19.0 release, the default service type by which the Kourier Gateway is exposed will be `ClusterIP` and not `LoadBalancer`.
+
If you do not want this change to apply to your workloads, you can override the default setting before upgrading to 1.19.0, by adding the following YAML to your `KnativeServing` custom resource (CR):
+
[source,yaml]
----
...
spec:
  ingress:
    kourier:
      service-type: LoadBalancer
...
----

* You can now use `emptyDir` volumes with {ServerlessProductName}. See the {ServerlessProductName} documentation about Knative Serving for details.

* Rust templates are now available when you create a function using `kn func`.

[id="fixed-issues-1-18-0_{context}"]
== Fixed issues

* The prior 1.4 version of Camel-K was not compatible with {ServerlessProductName} 1.17.0. The issue in Camel-K has been fixed, and Camel-K version 1.4.1 can be used with {ServerlessProductName} 1.17.0.

* Previously, if you created a new subscription for a Kafka channel, or a new Kafka source, a delay was possible in the Kafka data plane becoming ready to dispatch messages after the newly created subscription or sink reported a ready status.
+
As a result, messages that were sent during the time when the data plane was not reporting a ready status, might not have been delivered to the subscriber or sink.
+
In {ServerlessProductName} 1.18.0, the issue is fixed and the initial messages are no longer lost. For more information about the issue, see link:https://access.redhat.com/articles/6343981[Knowledgebase Article #6343981].

[id="known-issues-1-18-0_{context}"]
== Known issues

* Older versions of the Knative `kn` CLI might use older versions of the Knative Serving and Knative Eventing APIs. For example, version 0.23.2 of the `kn` CLI uses the `v1alpha1` API version.
+
On the other hand, newer releases of {ServerlessProductName} might no longer support older API versions. For example, {ServerlessProductName} 1.18.0 no longer supports version `v1alpha1` of the `kafkasources.sources.knative.dev` API.
+
Consequently, using an older version of the Knative `kn` CLI with a newer {ServerlessProductName} might produce an error because the `kn` cannot find the outdated API. For example, version 0.23.2 of the `kn` CLI does not work with {ServerlessProductName} 1.18.0.
+
To avoid issues, use the latest `kn` CLI version available for your {ServerlessProductName} release. For {ServerlessProductName} 1.18.0, use Knative `kn` CLI 0.24.0.
