Skip to content

Commit 9716ec4

Browse files
authored
Add missing changelog entries and add since to Deprecated annotation (kroxylicious#4272)
* chore: update CHANGELOG for upcoming features and deprecations Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Robert Young <robertyoungnz@gmail.com> * Improve Deprecation annotation specificity Signed-off-by: Robert Young <robertyoungnz@gmail.com> --------- Signed-off-by: Robert Young <robertyoungnz@gmail.com>
1 parent ceab027 commit 9716ec4

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ Format `<github issue/pr number>: <short description>`.
77

88
## SNAPSHOT
99

10+
* [#4152](https://github.com/kroxylicious/kroxylicious/pull/4152): feat(config): add `clusterDefinitions` top-level configuration property. Named cluster definitions can be defined once and referenced from virtual clusters via `target: { cluster: "<name>" }`, replacing the inline `targetCluster` field.
11+
* [#3672](https://github.com/kroxylicious/kroxylicious/pull/3672): feat(operator): add `KafkaProxyIngress.spec.infrastructure.annotations` to allow operators to propagate custom annotations to operator-managed Services and Routes, supporting platform-specific tooling such as AWS Load Balancer Controller, OpenShift service-serving-certificate, and HAProxy configuration.
12+
* [#4125](https://github.com/kroxylicious/kroxylicious/pull/4125): feat(runtime): add virtual cluster lifecycle and reconfiguration metrics — `kroxylicious_virtual_cluster_state` (StateSet), `kroxylicious_virtual_cluster_state_duration_seconds`, `kroxylicious_virtual_cluster_transitions_total`, `kroxylicious_reconfigure_total`, and `kroxylicious_reconfigure_duration_seconds` — for monitoring hot-reload operations.
1013
* [#4182](https://github.com/kroxylicious/kroxylicious/pull/4182): build(deps): Add client certificate authentication to Thales CipherTrust Manager KMS
1114
* [#4144](https://github.com/kroxylicious/kroxylicious/pull/4144): build(deps): bump io.prometheus:prometheus-metrics-bom from 1.6.1 to 1.8.0
1215
* [#4207](https://github.com/kroxylicious/kroxylicious/pull/4207): build(deps): [record-validation] bump io.kiota:kiota-http-jdk from 0.0.35 to 0.0.36
@@ -27,6 +30,7 @@ Format `<github issue/pr number>: <short description>`.
2730
* [#4203](https://github.com/kroxylicious/kroxylicious/pull/4203): Java 17 support has been removed. Kroxylicious now requires Java 21 as the minimum runtime. Kroxylicious is tested on Java 21 and Java 25.
2831
* [#4073](https://github.com/kroxylicious/kroxylicious/pull/4073): **Behaviour change for plugin authors**`FilterChainFactory` is now scoped per virtual cluster rather than shared across the whole proxy. A filter type used by N virtual clusters now sees N independent `FilterFactory.initialize()`/`close()` lifecycles — one per virtual cluster, each with its own initialization data. The threading model is also tightened: `close()` is now invoked on a non-Netty-event-loop thread (previously on the proxy shutdown caller's thread) after all connections to the virtual cluster have drained, so blocking work (e.g. closing KMS/HTTP clients) is safe in `close()`. Plugins that maintained cross-virtual-cluster state in a single `FilterFactory` instance, or relied on `close()` running on a specific thread, should be reviewed.
2932
* [#3913](https://github.com/kroxylicious/kroxylicious/pull/3913): The operator now sets a `DeprecationWarning` status condition on `KafkaProxy` resources that have no `spec` field, complementing the existing log warning. Users should add an empty `spec: {}` to any `KafkaProxy` resource that lacks one. Support for spec-less `KafkaProxy` resources will be removed in a future release.
33+
* [#4152](https://github.com/kroxylicious/kroxylicious/pull/4152): The `targetCluster` field on virtual clusters is deprecated. Define the target cluster under the new top-level `clusterDefinitions` list and reference it with `target: { cluster: "<name>" }`. The old field continues to work but will be removed in a future release.
3034
* [#3828](https://github.com/kroxylicious/kroxylicious/pull/3828): remove `KafkaProxy.block()` — use `startup().join()` instead. KafkaProxy is considered internal API hence we are skipping the deprecation cycle
3135

3236
## 0.21.0

kroxylicious-runtime/src/main/java/io/kroxylicious/proxy/config/VirtualCluster.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
*/
3434
@SuppressWarnings("java:S1123") // suppressing the spurious warning about missing @deprecated in javadoc. It is the field that is deprecated, not the class.
3535
public record VirtualCluster(@JsonProperty(required = true) String name,
36-
@Deprecated @Nullable TargetCluster targetCluster,
36+
@Deprecated(since = "0.22.0", forRemoval = true) @Nullable TargetCluster targetCluster,
3737
@Nullable RouteTarget target,
3838
@JsonProperty(required = true) List<VirtualClusterGateway> gateways,
3939
boolean logNetwork,

0 commit comments

Comments
 (0)