Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions _posts/2026-03-17-release-0_19_1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
layout: post
title: "Kroxylicious release 0.19.0"
date: 2026-03-17 00:00:00 +0000
author: "Sam Barker"
author_url: "https://github.com/SamBarker"
# noinspection YAMLSchemaValidation
categories: blog kroxylicious-proxy releases
tags: [ "releases", "kroxylicious-proxy" ]
---

We're excited to announce the release of [Kroxylicious 0.19.0](https://github.com/kroxylicious/kroxylicious/releases/tag/v0.19.0)! There's a lot to dig into — check out the full [Changelog](https://github.com/kroxylicious/kroxylicious/blob/main/CHANGELOG.md#0190) for everything including deprecations, changes, and removals.

Here are the highlights:

### Kafka 4.2 Support

Hot off the press — Kroxylicious now bites into Kafka 4.2! We are keeping pace with upstream Kafka releases so your filters can take advantage of new RPCs as they land. All versions of Kroxylicious can be deployed in front of any supported version of Apache Kafka.

### Authorizer Filter: Transactional ID Support

The Authorizer Filter just got more powerful. It now covers transactional ID authorization, so you can enforce `WRITE` and `DESCRIBE` operations with full parity to Apache Kafka's own ACL authorization.

### Kubernetes Secrets as Trust Anchors

Good news for Kubernetes users: you can now use Kubernetes Secrets in the `trustAnchorRef` field of `KafkaService` and `VirtualKafkaCluster` custom resources. One less thing to manage outside of your cluster.

### Filter API: API Version in `onResponse`

`ResponseFilter#onResponse` now receives API version information via a new five-argument form. The previous four-argument form is deprecated.

### Munching on Idle Connections

Ever wanted to clean up connections that have outstayed their welcome? Kroxylicious can now be configured with idle timeouts for client connections:
- `unauthenticatedIdleTimeout` — for connections that haven't authenticated yet
- `authenticatedIdleTimeout` — for authenticated connections

Both use Go-style duration formats. And to help you keep an eye on things, a new metric `kroxylicious_client_to_proxy_disconnects_total` tracks why connections are closing — idle timeout, client-initiated, or server-initiated.

### Artefacts

Binaries are attached to the GitHub [release](https://github.com/kroxylicious/kroxylicious/releases/tag/v0.19.0) and available through [Maven Central](https://repo1.maven.org/maven2/io/kroxylicious/kroxylicious-app/0.19.0/).

Container images are available on quay.io:

| Image | Repository |
|---|---|
| Proxy | [quay.io/kroxylicious/kroxylicious:0.19.0](https://quay.io/repository/kroxylicious/kroxylicious?tab=tags) (`sha256:f9cd83454ed1d6507be7876fb6a712c8c1d611fb26db47675e55777c10f46228`) |
| Operator | [quay.io/kroxylicious/operator:0.19.0](https://quay.io/repository/kroxylicious/operator?tab=tags) (`sha256:a531ec14e555d5df719cb5c64d751d10d515fa791044fe8b059106d25bcbc39a`) |

### Feedback

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.
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 %}).