Skip to content

Commit 1cde68c

Browse files
committed
Add release blog
Assisted-by: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Robert Young <robertyoungnz@gmail.com>
1 parent f722a2e commit 1cde68c

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
layout: post
3+
title: "Kroxylicious release 0.20.0"
4+
date: 2026-04-01 00:00:00 +0000
5+
author: "Rob Young"
6+
author_url: "https://github.com/robobario"
7+
# noinspection YAMLSchemaValidation
8+
categories: blog kroxylicious-proxy releases
9+
tags: [ "releases", "kroxylicious-proxy" ]
10+
---
11+
12+
We're excited to announce the release of [Kroxylicious 0.20.0](https://github.com/kroxylicious/kroxylicious/releases/tag/v0.20.0)! There's a lot to dig into — check out the full [Changelog](https://github.com/kroxylicious/kroxylicious/blob/main/CHANGELOG.md#0200) for everything including deprecations, changes, and removals.
13+
14+
Here are the highlights:
15+
16+
### Connection Expiration Filter
17+
18+
Thanks to the work of [May-Abo](https://github.com/May-Abo), a new filter joins the family! The Connection Expiration filter closes client connections after a configurable maximum age. This is perfect for dynamic environments like Kubernetes where you want to rebalance connections across proxy instances as pods scale up or down.
19+
20+
### Entity Isolation Filter
21+
22+
Multi-tenancy gets even better with the Entity Isolation filter. Initially supporting `groupId` and `transactionalId` entity types, this filter helps you enforce isolation boundaries between tenants sharing a cluster.
23+
24+
### Apicurio v3 Upgrade
25+
26+
Record validation just got a major upgrade with Apicurio v3. The default schema identification has changed from `globalId` to `contentId` for better interoperability with Confluent-based Kafka clients. You can still use the old behavior by setting `wireFormatVersion` to `V2`, though this mode is deprecated and will be removed in a future release.
27+
28+
### Kubernetes Operator Enhancements
29+
30+
Two improvements for Kubernetes users:
31+
- **Server-Side Apply**: The operator now uses Server-Side Apply for all dependent resources. Existing deployments are unaffected, and externally-applied patches (like annotations from observability tooling) will now survive operator reconciles.
32+
- **OpenShift Route Support**: Enable external access to Virtual Clusters via OpenShift Routes using `KafkaProxyIngress.spec.openShiftRoute`. Off-cluster client access is now a breeze on OpenShift.
33+
34+
### Schema Validation with Internal Certificates
35+
36+
You can now use schema validation with a schema registry protected by internally signed TLS certificates. One less obstacle for air-gapped or enterprise environments.
37+
38+
### Javadocs on the Website
39+
40+
Public API Javadocs are now published alongside version-specific documentation on [kroxylicious.io](https://kroxylicious.io), making it easier to explore our APIs without leaving your browser.
41+
42+
### Configuration Improvements
43+
44+
- **Configurable Netty shutdown**: New `shutdownQuietPeriod` and `shutdownTimeout` fields give you fine-grained control over Netty shutdown behavior with Go-style durations.
45+
- **Duration serialization**: Filter Config classes can now use `Duration` types that automatically serialize to/from Go-style strings (e.g., "1h") without any annotations.
46+
47+
### Artefacts
48+
49+
Binaries are attached to the GitHub [release](https://github.com/kroxylicious/kroxylicious/releases/tag/v0.20.0) and available through [Maven Central](https://repo1.maven.org/maven2/io/kroxylicious/kroxylicious-app/0.20.0/).
50+
51+
Container images are available on quay.io:
52+
53+
| Image | Repository |
54+
|---|---|
55+
| Proxy | [quay.io/kroxylicious/kroxylicious:0.20.0](https://quay.io/repository/kroxylicious/kroxylicious?tab=tags) |
56+
| Operator | [quay.io/kroxylicious/operator:0.20.0](https://quay.io/repository/kroxylicious/operator?tab=tags) |
57+
58+
### Feedback
59+
60+
We'd love to hear from you! Whether you're kicking the tyres, running Kroxylicious in production, or just find the project interesting — drop by and say hello.
61+
You can reach us through [Slack](https://kroxylicious.slack.com), [GitHub](https://github.com/kroxylicious/kroxylicious/issues) or even [bsky](https://bsky.app/profile/kroxylicious.io)), or tell us in person on one of our upcoming [community calls]({% link join-us/community-call/index.md %}).

0 commit comments

Comments
 (0)