diff --git a/_posts/2026-03-17-release-0_19_1.md b/_posts/2026-03-17-release-0_19_1.md new file mode 100644 index 0000000..ec07d17 --- /dev/null +++ b/_posts/2026-03-17-release-0_19_1.md @@ -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 %}).