Repository navigation
0.19.0
One minor breaking change, caught while auditing the command surface: kcl consume now reads uncommitted records by default, matching the Java client, librdkafka, rpk, and kcat. Use --read-committed for the old behavior.
Read the CHANGELOG if you script against kcl.
Highlights
- Schema Registry support. A new
kcl registrycommand space — subjects, schemas, references, compatibility, mode, contexts — plus schema-aware produce and consume:--schema/--key-schemaencode JSON into the registry wire format against an existing schema, and--decodereads it back. Avro, JSON Schema, and Protobuf, including schemas that reference others. kcl consume -f json. One JSON object per record. Non-UTF-8 keys and values print as base64 rather than being corrupted, a nil component stays distinct from an empty one, and with--decodea component that decoded to JSON is embedded as a JSON value, sojq .value.countworks.kcl fakealso serves a registry, and--seed-demoseeds Avro, Protobuf, JSON, and plain topics — a Docker-free playground for the whole flow.kcl reassign cancelcancels in-progress partition reassignments.- Shell completion now completes
kcl acl's filter values. - Three
kcl consumestop conditions that never worked.-o N:M,-o :end, and--timeoutall ran forever;-o N:Mhad no termination path at all. kcl aclrejects an unrecognized filter by name instead of sending it as anUNKNOWNelement that brokers reject while parsing the request (#56).