What's Changed
New Features π
- Make AdminClient optional by @graemerocher in #1343
- Add per-class Kafka listener consumer strategy by @graemerocher in #1305
- Introduce id for KafkaListener by @graemerocher in #1347
- Add Kafka listener invocation scope by @graemerocher in #1336
- Default async KafkaClient methods to TaskExecutors.BLOCKING by @graemerocher in #1354
Bug Fixes π
- Fix ConsumerStateBatch retry NPE when offsets are missing by @graemerocher in #1309
- Fix Kafka metrics meter cleanup by @graemerocher in #1303
- Fix ConsumerState shutdown loop by @graemerocher in #1308
- Fix stale consumer records-lag meters by @graemerocher in #1310
- Support GlobalKTable-only Kafka Streams topologies by @graemerocher in #1304
- Fix native-image Kafka consumer assignor reflection by @graemerocher in #1311
- Fix multi-topic listener retry partition resets by @graemerocher in #1307
- Fix batch deserialization seek with disabled offsets by @graemerocher in #1300
- Fix Kafka Streams metric naming collisions by @graemerocher in #1306
- Fix Prometheus warnings from optional Kafka node-id tags by @graemerocher in #1298
- Fix Prometheus consumer metric tag stability by @graemerocher in #1329
- Fix recovery for expired transactional producers by @graemerocher in #1328
- Add regression coverage for deserialization consumer records by @graemerocher in #1339
- Fix Kafka Streams health endpoint regression on Kafka 4.x by @graemerocher in #1302
Improvements β
- Reduce memory usage by not capturing this through mutable Builder ins⦠by @erkieh in #1203
- Change offset type from int to long in exception handler by @filipefox in #1224
- Hold kafka consumer startup until resume/wakeup by @adam-kopaczewski in #1205
- Implement graceful shutdown for Kafka consumers by @graemerocher in #1314
- Infer SSL security protocol from ssl config by @graemerocher in #1301
- Make null kafka config errors explicit by @graemerocher in #1318
- Refactor tests to not use KafkaConsumer internals by @graemerocher in #1322
- Add LOG_AND_RESUME_AT_NEXT_RECORD DLQ support by @graemerocher in #1317
- Change log level for Kafka offset commit errors when using CooperativeSticky assignment strategy by @graemerocher in #1312
- Add global Kafka Streams disable configuration by @graemerocher in #1346
- Fix Kafka Streams SHUTDOWN_APPLICATION shutdown by @graemerocher in #1351
- Document schema registry overrides for named clients by @graemerocher in #1352
- Align Kafka metrics with Micrometer naming by @graemerocher in #1349
Docs π
- Add Control Panel section and documentation link [skip ci] by @alvarosanchez in #1280
- Clarify KafkaClient executor ordering with CompletableFuture by @graemerocher in #1326
- Clarify SYNC_PER_RECORD commit behavior by @graemerocher in #1330
- Document runtime Kafka bootstrap configuration by @graemerocher in #1332
- Add guide for Avro and Protobuf serialization by @graemerocher in #1335
- Document same-topic multi-type Kafka listeners by @graemerocher in #1337
- Document multiple Kafka Streams configuration by @graemerocher in #1334
- Update 6.0 release history by @graemerocher in #1358
Dependency updates π
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v4.9.11 by @renovate[bot] in #1200
- fix(deps): update dependency io.micronaut.serde:micronaut-serde-bom to v2.15.1 by @renovate[bot] in #1214
- fix(deps): update dependency io.micronaut.tracing:micronaut-tracing-bom to v7.1.4 by @renovate[bot] in #1210
- fix(deps): update dependency io.micronaut.testresources:micronaut-test-resources-bom to v2.10.1 by @renovate[bot] in #1209
- chore(deps): update softprops/action-gh-release action to v2.4.1 - autoclosed by @renovate[bot] in #1226
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #1220
- chore(deps): update actions/download-artifact action to v5 by @renovate[bot] in #1217
- chore(deps): update actions/setup-java action to v5 by @renovate[bot] in #1221
- chore(deps): update gradle to v8.14.3 by @renovate[bot] in #1202
- chore(deps): update graalvm/setup-graalvm action to v1.4.1 by @renovate[bot] in #1198
- fix(deps): update dependency io.micronaut.serde:micronaut-serde-bom to v2.15.5 by @renovate[bot] in #1228
- fix(deps): update dependency micronaut to v4.9.4 by @renovate[bot] in #1212
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v4.10.6 by @renovate[bot] in #1233
- fix(deps): update dependency io.micronaut.reactor:micronaut-reactor-bom to v3.9.1 by @renovate[bot] in #1242
- fix(deps): update dependency io.micronaut.micrometer:micronaut-micrometer-bom to v5.13.1 by @renovate[bot] in #1241
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v4.10.8 by @renovate[bot] in #1240
- chore(deps): update graalvm/setup-graalvm action to v1.4.2 by @renovate[bot] in #1237
- chore(deps): update plugin io.micronaut.build.shared.settings to v8.0.0-m8 by @renovate[bot] in #1239
- fix(deps): update dependency io.micronaut.micrometer:micronaut-micrometer-bom to v5.13.2 by @renovate[bot] in #1259
- chore(deps): update graalvm/setup-graalvm action to v1.4.4 by @renovate[bot] in #1256
- fix(deps): update dependency org.graalvm.sdk:graal-sdk to v25 by @renovate[bot] in #1255
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v4.10.9 by @renovate[bot] in #1254
- chore(deps): update mikepenz/action-junit-report action to v6 by @renovate[bot] in #1253
- chore(deps): update github artifact actions (major) by @renovate[bot] in #1252
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #1251
- fix(deps): update dependency micronaut to v4.10.3 by @renovate[bot] in #1250
- fix(deps): update dependency io.micronaut.serde:micronaut-serde-bom to v2.16.2 by @renovate[bot] in #1249
- fix(deps): update dependency io.micronaut.platform:micronaut-platform to v4.10.3 by @renovate[bot] in #1248
- chore(deps): update gradle to v9.2.1 - autoclosed by @renovate[bot] in #1247
- chore(deps): update softprops/action-gh-release action to v2.5.0 by @renovate[bot] in #1246
- chore(deps): update kotlin monorepo to v2.2.21 by @renovate[bot] in #1244
- chore(deps): update plugin io.micronaut.build.shared.settings to v8.0.0-m12 by @renovate[bot] in #1245
- Upgrade to Kafka 4.1.1 by @ayoubouria in #1282
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v5.0.0-m17 by @renovate[bot] in #1262
- fix(deps): update dependency io.micronaut.test:micronaut-test-bom to v5.0.0-m7 by @renovate[bot] in #1290
- fix(deps): update dependency io.micronaut:micronaut-core-bom to v5.0.0-m19 by @renovate[bot] in #1294
- fix(deps): update dependency io.micronaut.serde:micronaut-serde-bom to v3.0.0-m6 by @renovate[bot] in #1276
- fix(deps): update dependency io.micronaut.platform:micronaut-platform to v4.10.11 by @renovate[bot] in #1263
- fix(deps): update dependency org.graalvm.sdk:graal-sdk to v25.0.2 by @renovate[bot] in #1273
- fix(deps): update io.zipkin.brave:brave-instrumentation-kafka-clients to v6.3.1 by @graemerocher in #1316
- Update actions/upload-artifact digest to 043fb46 by @renovate[bot] in #1321
- Update actions/cache digest to 27d5ce7 by @renovate[bot] in #1319
- Update dependency org.apache.groovy:groovy to v4.0.31 by @renovate[bot] in #1325
- Update dependency org.graalvm.sdk:graal-sdk to v25.0.3 by @renovate[bot] in #1331
- Update dependency org.lz4:lz4-java to v1.8.1 by @renovate[bot] in #1340
- Update Micronaut dependencies by @renovate[bot] in #1342
- Update dependency io.micronaut:micronaut-core-bom to v5.0.0-M26 by @renovate[bot] in #1353
Other Changes π‘
- Update micronaut build by @lissam1 in #1223
- Docs: update micronaut-docs to 3.0.0 by @lissam1 in #1230
- Build: remove sonatype plugin by @lissam1 in #1229
- Micronaut 5 compatibility by @lissam1 in #1238
- Replace Micronaut nullability annotations with JSpecify nullability annotations by @Copilot in #1258
- Build: Update to Micronaut 5 by @lissam1 in #1265
- use spock groovy from micronaut-test by @lissam1 in #1286
- Update micronaut to M20 and kafka 4.2.0 by @lissam1 in #1296
- Fix KafkaConfigurationSpec CI regression on 6.0.x by @graemerocher in #1324
- Fix missing imports for compilation by @graemerocher in #1357
New Contributors
- @erkieh made their first contribution in #1203
- @filipefox made their first contribution in #1224
- @adam-kopaczewski made their first contribution in #1205
- @Copilot made their first contribution in #1258
- @ayoubouria made their first contribution in #1282
Full Changelog: v5.9.0...v6.0.0