|
| 1 | +--- |
| 2 | +title: "v1.23 release" |
| 3 | +linkTitle: "v1.23 release" |
| 4 | +author: "[dsimansk](https://github.com/dsimansk)" |
| 5 | +author handle: https://github.com/dsimansk |
| 6 | +date: 2026-07-31 |
| 7 | +description: "Knative v1.23 Release Announcement" |
| 8 | +type: "blog" |
| 9 | +--- |
| 10 | + |
| 11 | +## Announcing Knative v1.23 Release |
| 12 | + |
| 13 | +A new version of Knative is now available across multiple components. |
| 14 | + |
| 15 | +Follow the instructions in [Installing Knative](https://knative.dev/docs/install/) to install the components you require. |
| 16 | + |
| 17 | +## Highlights |
| 18 | + |
| 19 | +- **Generic ephemeral volumes** in Serving, enabling dynamically provisioned pod-scoped storage |
| 20 | +- **EndpointSlice migration** in Eventing, moving off deprecated v1 Endpoints |
| 21 | +- **IPv6 support** for Serving autoscaler EndpointSlice creation |
| 22 | +- **New `func logs` and `func clusters` commands** for streaming function logs and one-command local dev cluster creation |
| 23 | +- **Security updates** across Kafka Broker dependencies and a RabbitMQ ingress shutdown race fix |
| 24 | + |
| 25 | +Minimal supported version of Kubernetes is 1.34. See our [release schedule](https://github.com/knative/community/blob/main/mechanics/RELEASE-SCHEDULE.md) for details. |
| 26 | + |
| 27 | +## Serving |
| 28 | + |
| 29 | +**Release notes**: [Knative Serving 1.23](https://github.com/knative/serving/releases/tag/knative-v1.23.0) |
| 30 | + |
| 31 | +This release adds ephemeral volume support, IPv6 networking improvements, and startup probe validation. |
| 32 | + |
| 33 | +**Generic Ephemeral Volumes** |
| 34 | + |
| 35 | +Serving now supports generic ephemeral volumes via `volumeClaimTemplate`, behind the `kubernetes.podspec-volumes-ephemeral` feature flag ([#16590](https://github.com/knative/serving/pull/16590) by [@jbunting](https://github.com/jbunting)). This allows workloads to request dynamically provisioned storage that is tied to the pod lifecycle without needing pre-created PVCs. |
| 36 | + |
| 37 | +**Startup Probe Validation** |
| 38 | + |
| 39 | +Validation has been added for startup probes in user and sidecar containers ([#16594](https://github.com/knative/serving/pull/16594) by [@thiagomedina](https://github.com/thiagomedina)), catching misconfigured probes at admission time rather than at runtime. |
| 40 | + |
| 41 | +**IPv6 Support for Autoscaler** |
| 42 | + |
| 43 | +The autoscaler EndpointSlice creation and activator port replacement now support IPv6 ([#16591](https://github.com/knative/serving/pull/16591) by [@linkvt](https://github.com/linkvt)), extending dual-stack networking support in Serving. |
| 44 | + |
| 45 | +**Bug Fixes** |
| 46 | + |
| 47 | +A fix was made to the ResponseRecorder hijack state tracking for WebSocket connections ([#16611](https://github.com/knative/serving/pull/16611) by [@immanuwell](https://github.com/immanuwell)). |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +### Serving Networking Extensions |
| 52 | + |
| 53 | +#### net-contour |
| 54 | + |
| 55 | +**Release notes**: [net-contour 1.23](https://github.com/knative-extensions/net-contour/releases/tag/knative-v1.23.0) |
| 56 | + |
| 57 | +**Contour Updated to v1.33.5** |
| 58 | + |
| 59 | +Contour has been bumped to v1.33.5 ([#1292](https://github.com/knative-extensions/net-contour/pull/1292) by [@dprotaso](https://github.com/dprotaso)), picking up the latest bug fixes and patches. |
| 60 | + |
| 61 | + |
| 62 | +#### net-gateway-api |
| 63 | + |
| 64 | +**Release notes**: [net-gateway-api 1.23](https://github.com/knative-extensions/net-gateway-api/releases/tag/knative-v1.23.0) |
| 65 | + |
| 66 | +**Proxy Protocol Support** |
| 67 | + |
| 68 | +Support for proxy protocol has been added ([#947](https://github.com/knative-extensions/net-gateway-api/pull/947) by [@BobyMCbobs](https://github.com/BobyMCbobs)), enabling backends to receive the original client connection information when traffic passes through load balancers. |
| 69 | + |
| 70 | + |
| 71 | +#### net-istio |
| 72 | + |
| 73 | +**Release notes**: [net-istio 1.23](https://github.com/knative-extensions/net-istio/releases/tag/knative-v1.23.0) |
| 74 | + |
| 75 | +A maintenance release with CI fixes and dependency updates. |
| 76 | + |
| 77 | + |
| 78 | +#### net-kourier |
| 79 | + |
| 80 | +**Release notes**: [net-kourier 1.23](https://github.com/knative-extensions/net-kourier/releases/tag/knative-v1.23.0) |
| 81 | + |
| 82 | +**IPv6 Support** |
| 83 | + |
| 84 | +IPv6 support has been added to Kourier ([#1455](https://github.com/knative-extensions/net-kourier/pull/1455) by [@linkvt](https://github.com/linkvt)), extending dual-stack networking support across the Knative networking stack. |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## Eventing |
| 89 | + |
| 90 | +**Release notes**: [Knative Eventing 1.23](https://github.com/knative/eventing/releases/tag/knative-v1.23.0) |
| 91 | + |
| 92 | +This release focuses on reliability fixes and modernizing the networking layer. |
| 93 | + |
| 94 | +**EndpointSlice Migration** |
| 95 | + |
| 96 | +Eventing has migrated from deprecated v1 Endpoints to `discovery.k8s.io/v1` EndpointSlice ([#9032](https://github.com/knative/eventing/pull/9032) by [@creydr](https://github.com/creydr)), aligning with the Kubernetes deprecation timeline and improving scalability. |
| 97 | + |
| 98 | +**Configurable klog Verbosity** |
| 99 | + |
| 100 | +A `klog-verbosity` flag has been added to the `config-logging` ConfigMap ([#9035](https://github.com/knative/eventing/pull/9035) by [@Ankitsinghsisodya](https://github.com/Ankitsinghsisodya)), giving operators more control over log verbosity without redeploying. |
| 101 | + |
| 102 | +**Bug Fixes** |
| 103 | + |
| 104 | +- JobSink status Location paths for event metadata containing slashes have been fixed ([#9100](https://github.com/knative/eventing/pull/9100) by [@immanuwell](https://github.com/immanuwell)) |
| 105 | +- A goroutine and memory leak in `SubjectAndFiltersPass` has been fixed ([#9151](https://github.com/knative/eventing/pull/9151) by [@creydr](https://github.com/creydr)) |
| 106 | +- The vreplica spreading across `minReplicas` pods in the scheduler has been fixed ([#9157](https://github.com/knative/eventing/pull/9157) by [@creydr](https://github.com/creydr)) |
| 107 | + |
| 108 | +--- |
| 109 | + |
| 110 | +### Eventing Extensions |
| 111 | + |
| 112 | +#### Apache Kafka Broker |
| 113 | + |
| 114 | +**Release notes**: [Kafka Broker 1.23](https://github.com/knative-extensions/eventing-kafka-broker/releases/tag/knative-v1.23.0) |
| 115 | + |
| 116 | +This release brings improved error handling, security patches, and several data-plane fixes. |
| 117 | + |
| 118 | +**Improved Error Handling** |
| 119 | + |
| 120 | +Error handling has been improved across broker, channel, consumer group, and trigger reconcilers ([#4724](https://github.com/knative-extensions/eventing-kafka-broker/pull/4724) by [@chriscannon](https://github.com/chriscannon)), making it easier to diagnose reconciliation failures. |
| 121 | + |
| 122 | +**Security Updates** |
| 123 | + |
| 124 | +Netty, logback-core, vertx-core, and jackson-core have been updated to resolve known vulnerabilities ([#4744](https://github.com/knative-extensions/eventing-kafka-broker/pull/4744)). |
| 125 | + |
| 126 | +**Bug Fixes** |
| 127 | + |
| 128 | +- The KafkaSink reconciler cluster admin error has been fixed ([#4720](https://github.com/knative-extensions/eventing-kafka-broker/pull/4720) by [@chriscannon](https://github.com/chriscannon)) |
| 129 | +- A null check has been added to `ExactFilter` to handle missing `FilterAttributes` ([#4717](https://github.com/knative-extensions/eventing-kafka-broker/pull/4717) by [@Dominic-Stout-GA-i3](https://github.com/Dominic-Stout-GA-i3)) |
| 130 | +- The OpenTelemetry BOM ordering has been fixed to ensure the declared version takes precedence ([#4752](https://github.com/knative-extensions/eventing-kafka-broker/pull/4752) by [@creydr](https://github.com/creydr)) |
| 131 | +- A timer drift in the cache implementation has been fixed ([#4762](https://github.com/knative-extensions/eventing-kafka-broker/pull/4762) by [@dsimansk](https://github.com/dsimansk)) |
| 132 | + |
| 133 | + |
| 134 | +#### RabbitMQ Broker and Source |
| 135 | + |
| 136 | +**Release notes**: [RabbitMQ 1.23](https://github.com/knative-extensions/eventing-rabbitmq/releases/tag/knative-v1.23.0) |
| 137 | + |
| 138 | +This release adds adapter customization and fixes an ingress shutdown race condition. |
| 139 | + |
| 140 | +**Customizable Adapter Container Name** |
| 141 | + |
| 142 | +The RabbitmqSource adapter container name can now be customized ([#1762](https://github.com/knative-extensions/eventing-rabbitmq/pull/1762) by [@vgaidarji](https://github.com/vgaidarji)). |
| 143 | + |
| 144 | +**Ingress Shutdown Race Fix** |
| 145 | + |
| 146 | +A race condition between RabbitMQ connection close and HTTP drain during ingress shutdown has been fixed ([#1760](https://github.com/knative-extensions/eventing-rabbitmq/pull/1760) by [@deadtrickster](https://github.com/deadtrickster)). |
| 147 | + |
| 148 | +--- |
| 149 | + |
| 150 | +## Functions |
| 151 | + |
| 152 | +**Release notes**: [Functions 1.23](https://github.com/knative/func/releases/tag/knative-v1.23.0) |
| 153 | + |
| 154 | +A substantial release with new commands, improved builder support, and a growing MCP server. |
| 155 | + |
| 156 | +**New `func logs` Command** |
| 157 | + |
| 158 | +A new `func logs` command streams function logs directly from the CLI ([#3669](https://github.com/knative/func/pull/3669) by [@Itx-Psycho0](https://github.com/Itx-Psycho0)), removing the need to switch to `kubectl` or a dashboard to see what your function is doing. |
| 159 | + |
| 160 | +**Dev Cluster Creation with `func clusters`** |
| 161 | + |
| 162 | +The new `func clusters` command can create local development clusters with Knative pre-installed ([#3754](https://github.com/knative/func/pull/3754) by [@lkingland](https://github.com/lkingland)), making it easier to get a working Knative environment for local development. |
| 163 | + |
| 164 | +**Kafka Event Sourcing for Go Functions** |
| 165 | + |
| 166 | +Go functions can now be scaffolded with Kafka event sourcing support ([#3950](https://github.com/knative/func/pull/3950) by [@aliok](https://github.com/aliok)), providing a ready-made template for consuming Kafka events. |
| 167 | + |
| 168 | +**ImagePullSecret Support** |
| 169 | + |
| 170 | +Functions now support specifying an `ImagePullSecret` ([#3656](https://github.com/knative/func/pull/3656) by [@creydr](https://github.com/creydr)), enabling deployments from private registries that require authentication. |
| 171 | + |
| 172 | +**func-operator Integration** |
| 173 | + |
| 174 | +The deploy command now integrates with the func-operator ([#3657](https://github.com/knative/func/pull/3657) by [@creydr](https://github.com/creydr)), and the deployer choice is now persisted in `func.yaml` with guards against incompatible deployer switches ([#3953](https://github.com/knative/func/pull/3953) by [@gauron99](https://github.com/gauron99)). |
| 175 | + |
| 176 | +**Improved `.funcignore` Support** |
| 177 | + |
| 178 | +`.funcignore` rules are now applied consistently across the host builder ([#3624](https://github.com/knative/func/pull/3624) by [@lkingland](https://github.com/lkingland)) and the OCI builder ([#3789](https://github.com/knative/func/pull/3789) by [@gauron99](https://github.com/gauron99)). |
| 179 | + |
| 180 | +**AWS ECR Credentials Loader** |
| 181 | + |
| 182 | +An AWS ECR credentials loader has been added to Kubernetes keychains ([#3864](https://github.com/knative/func/pull/3864) by [@Nachiket-Roy](https://github.com/Nachiket-Roy)), enabling seamless authentication with ECR registries in cluster builds. |
| 183 | + |
| 184 | +**MCP Server Improvements** |
| 185 | + |
| 186 | +The MCP server received numerous fixes and enhancements, including secret and ConfigMap support for `config_envs_add` ([#3685](https://github.com/knative/func/pull/3685) by [@Ankitsinghsisodya](https://github.com/Ankitsinghsisodya)), split config tools for accurate tool annotations ([#3661](https://github.com/knative/func/pull/3661) by [@Ankitsinghsisodya](https://github.com/Ankitsinghsisodya)), and version info in healthcheck output ([#3745](https://github.com/knative/func/pull/3745) by [@cubaseuser123](https://github.com/cubaseuser123)). |
| 187 | + |
| 188 | +**Security Hardening** |
| 189 | + |
| 190 | +Config files now use secure file permissions ([#3726](https://github.com/knative/func/pull/3726) by [@Itx-Psycho0](https://github.com/Itx-Psycho0)), GitHub webhooks default to TLS verification ([#3714](https://github.com/knative/func/pull/3714) by [@Vi-shub](https://github.com/Vi-shub)), and shell metacharacters are now rejected in prefix validation ([#3760](https://github.com/knative/func/pull/3760) by [@Elvand-Lie](https://github.com/Elvand-Lie)). |
| 191 | + |
| 192 | +**IPv6 and Dual-Stack Support** |
| 193 | + |
| 194 | +Multiple fixes improve IPv6 support: dual-stack `net.Dial` via Happy Eyeballs ([#3692](https://github.com/knative/func/pull/3692)), IPv6 in local Kind cluster setup ([#3693](https://github.com/knative/func/pull/3693)), and listening on IPv6 loopback ([#3817](https://github.com/knative/func/pull/3817)) — all by [@matejvasek](https://github.com/matejvasek). |
| 195 | + |
| 196 | +--- |
| 197 | + |
| 198 | +## Client |
| 199 | + |
| 200 | +**Release notes**: [Client 1.23](https://github.com/knative/client/releases/tag/knative-v1.23.0) |
| 201 | + |
| 202 | +A maintenance release with dependency updates and CI improvements. |
| 203 | + |
| 204 | + |
| 205 | +### kn-plugin-quickstart |
| 206 | + |
| 207 | +**Release notes**: [Quickstart 1.23](https://github.com/knative-extensions/kn-plugin-quickstart/releases/tag/knative-v1.23.0) |
| 208 | + |
| 209 | +**Custom Kind Host Port** |
| 210 | + |
| 211 | +You can now set a custom host port when creating Kind clusters ([#660](https://github.com/knative-extensions/kn-plugin-quickstart/pull/660) by [@psschwei](https://github.com/psschwei)), making it easier to avoid port conflicts in multi-cluster or shared development environments. |
| 212 | + |
| 213 | +**Improved Startup Reliability** |
| 214 | + |
| 215 | +The plugin now waits for pods to appear before checking readiness ([#669](https://github.com/knative-extensions/kn-plugin-quickstart/pull/669) by [@psschwei](https://github.com/psschwei)), fixing race conditions during cluster setup. |
| 216 | + |
| 217 | + |
| 218 | +### Other Client Plugins |
| 219 | + |
| 220 | +These releases contain dependency updates: |
| 221 | + |
| 222 | +- [kn-plugin-admin](https://github.com/knative-extensions/kn-plugin-admin/releases/tag/knative-v1.23.0) |
| 223 | +- [kn-plugin-event](https://github.com/knative-extensions/kn-plugin-event/releases/tag/knative-v1.23.0) |
| 224 | +- [kn-plugin-source-kafka](https://github.com/knative-extensions/kn-plugin-source-kafka/releases/tag/knative-v1.23.0) |
| 225 | + |
| 226 | +--- |
| 227 | + |
| 228 | +## Operator |
| 229 | + |
| 230 | +**Release notes**: [Operator 1.23](https://github.com/knative/operator/releases/tag/knative-v1.23.0) |
| 231 | + |
| 232 | +This release switches to the official secretreader plugin and includes fixes for CRD webhooks and eventing RBAC. |
| 233 | + |
| 234 | +**Official SecretReader Plugin** |
| 235 | + |
| 236 | +The operator now uses the official secretreader plugin ([#2306](https://github.com/knative/operator/pull/2306) by [@kahirokunn](https://github.com/kahirokunn)), replacing the previous custom implementation. |
| 237 | + |
| 238 | +**Bug Fixes** |
| 239 | + |
| 240 | +- Operator CRD conversion webhooks have been restored ([#2293](https://github.com/knative/operator/pull/2293) by [@kahirokunn](https://github.com/kahirokunn)) |
| 241 | +- `AggregationRuleTransform` has been moved to a shared common package to fix an eventing RBAC race condition ([#2316](https://github.com/knative/operator/pull/2316) by [@creydr](https://github.com/creydr)) |
| 242 | + |
| 243 | +--- |
| 244 | + |
| 245 | +## Thank you, contributors |
| 246 | + |
| 247 | +Release Leads: |
| 248 | + |
| 249 | +- [@dsimansk](https://github.com/dsimansk) |
| 250 | + |
| 251 | +New Contributors 🎉: |
| 252 | + |
| 253 | +- [@brucearctor](https://github.com/brucearctor) |
| 254 | +- [@chriscannon](https://github.com/chriscannon) |
| 255 | +- [@cubaseuser123](https://github.com/cubaseuser123) |
| 256 | +- [@deadtrickster](https://github.com/deadtrickster) |
| 257 | +- [@Dominic-Stout-GA-i3](https://github.com/Dominic-Stout-GA-i3) |
| 258 | +- [@Elvand-Lie](https://github.com/Elvand-Lie) |
| 259 | +- [@gouthamhusky](https://github.com/gouthamhusky) |
| 260 | +- [@immanuwell](https://github.com/immanuwell) |
| 261 | +- [@Itx-Psycho0](https://github.com/Itx-Psycho0) |
| 262 | +- [@jahnavigajjala-3](https://github.com/jahnavigajjala-3) |
| 263 | +- [@jbunting](https://github.com/jbunting) |
| 264 | +- [@mdering](https://github.com/mdering) |
| 265 | +- [@Nachiket-Roy](https://github.com/Nachiket-Roy) |
| 266 | +- [@Shrey327](https://github.com/Shrey327) |
| 267 | +- [@vgaidarji](https://github.com/vgaidarji) |
| 268 | +- [@Vi-shub](https://github.com/Vi-shub) |
| 269 | +- [@vishwas-droid](https://github.com/vishwas-droid) |
| 270 | +- [@xenonnn4w](https://github.com/xenonnn4w) |
| 271 | + |
| 272 | +--- |
| 273 | + |
| 274 | +## Learn more |
| 275 | + |
| 276 | +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! |
| 277 | + |
| 278 | +- [Knative docs](https://knative.dev/docs) |
| 279 | +- [Quickstart tutorial](https://knative.dev/docs/getting-started) |
| 280 | +- [Samples](https://knative.dev/docs/samples) |
| 281 | +- [Knative working groups](https://github.com/knative/community/blob/main/working-groups/WORKING-GROUPS.md) |
| 282 | +- [Knative User Mailing List](https://groups.google.com/forum/#!forum/knative-users) |
| 283 | +- [Knative Development Mailing List](https://groups.google.com/forum/#!forum/knative-dev) |
| 284 | +- Knative on Twitter [@KnativeProject](https://twitter.com/KnativeProject) |
| 285 | +- Knative on [StackOverflow](https://stackoverflow.com/questions/tagged/knative) |
| 286 | +- Knative [Slack](https://slack.cncf.io) |
| 287 | +- Knative on [YouTube](https://www.youtube.com/channel/UCq7cipu-A1UHOkZ9fls1N8A) |
0 commit comments