Zilla Plus 2.x
Zilla Plus 2.x
Zilla Plus is Aklivity's enterprise product for deploying and operating production API and event streaming gateways. This page summarizes the notable additions, changes, and fixes in each 2.x release. It is not an exhaustive log of every merged pull request.
Note
Review the Breaking Changes below before upgrading from 1.x.
2.0.0
Release Date: September 7, 2026
Breaking Changes
See Migrating to 2.x for full details and config examples before upgrading.
- The
zilla.jsonconfig file fallback has been removed; azilla.yamlfile is now required. binding-kafka:kind: clientbindings can no longer route by topic condition; route unconditionally, or usecache_client/cache_serverfor per-topic dispatch.binding-kafka:options.saslhas been removed in favor ofoptions.authorization, which resolves credentials from a referenced guard instead of hardcoding them on the binding.binding-grpc:options.serviceshas been removed;.protoservice definitions are now sourced from acatalogreference instead of local files.binding-mqtt-kafka:options.serverhas been removed in favor of the engine-levelservice.hostnameconfiguration property.binding-mqtt:kind: servernow requires a referencedoptions.store.binding-tcp:routes[].exitis now actually enforced forkind: server.binding-openapi/binding-asyncapi/binding-openapi-asyncapi:options.specs.<name>.serversis now a required list of plain URL strings instead of server objects.binding-asyncapi/binding-openapi-asyncapi: route conditionsapi-id/operation-idare renamed tospec/operation, andkind: clientbindings no longer acceptroutes.binding-mcp: options and routes have been restructured —options.promptsis removed,options.authorizationis now guard-name-keyed,capabilityroute conditions are replaced bytool/prompt/resource,kind: serverno longer acceptsroutes, andkind: clientnow requiresoptions.server.vault-aws-secrets:options.aliaseshas been removed; configurekeys,trust, andsignersdirectly as name-to-ARN maps.guard-identityhas been renamed toguard-inline.guard-jwt: the guard-levelkindproperty is no longer accepted.- The Kafka client and cache now target Apache Kafka 2.8.0 or higher.
binding-kafka-proxy'sinternal.authorizationconfiguration has been restructured to a guard-name-keyed syntax, consistent withbinding-kafka.guard-api-keysnow requires an explicit keys document structure in configuration instead of a hardcoded layout, andcredentials()now returns the parsed secret instead of the identity.
Added
- Model Context Protocol (MCP) support, letting AI agents discover and call Kafka, Kafka Connect, Schema Registry, OpenAPI, and HTTP backends as MCP tools:
binding-mcp-kafka: topic administration and metadata, cluster and broker overview, consumer group management (list, describe, reset offsets, lag), topic and broker configs, ACLs, and message produce/consume.binding-mcp-kafka-connect: exposes the Kafka Connect REST API as MCP tools.binding-mcp-schema-registry: exposes a Schema Registry as MCP tools, inclientandproxyvariants.binding-mcp-openapiandbinding-mcp-http: expose OpenAPI and plain HTTP APIs as MCP tools, with derived tool annotations (read-only, destructive, idempotent, open-world hints).- The
mcpproxy provides agent-callable tool search (search_tools,describe_tool,execute_tool) with relevance ranking, a configurable eagerly-loaded tool set with pluggable by-size and by-usage policies, semantic tool search backed by a pluggable embedding provider (IBM watsonx.ai, AWS Bedrock, or OpenAI),tools/callargument validation against the cached tool schema,resources/subscribepass-through, elicitation support, and disambiguated tool titles across toolkits. - Multi-node MCP gateway deployments are supported out of the box, including stateful MCP sessions, simplifying MCP load balancer configuration.
- New vault types:
aws-kms,hashicorp(Vault Transit engine),kmip, andk8s-secrets. - New guards:
aws-cognito(AWS Cognito JWT validation via OIDC discovery),aws-iam(injects AWS credentials),x509(authorizes from a verified client certificate chain), andlookup(resolves roles and attributes for an already-authenticated identity). guard-oauth: OAuth 2.1 authorization-code grant with PKCE, dynamic client registration, and a JWT-bearer grant that embedsscopeas a signed assertion claim with a configurablekid.- Field- and payload-level data protection for
avro,json,protobuf, and raw bytes/string values: disclosure control (redact, omit, mask, hash) and AES-GCM encryption, with guarded, per-field rules. - Kafka client:
SASL/OAUTHBEARERsupport and guard-injected credentials. - Kafka Proxy: per-client Kafka topic aliasing, driven by a guard's established identity or attributes, now covers the full Kafka API surface (metadata, offsets, consumer groups, transactions, ACLs, configs, and more), plus SASL/OAUTHBEARER termination for external client connections.
- Per-subject alias support in
binding-schema-registry, consistent with Kafka Proxy's topic alias. - New
store-redisandstore-hazelcastbackends, alongsidestore-memory, backing MQTT session state and MCP caches. binding-socksandbinding-smuxenhancements, including connection pooling by destination.
Fixed
- Kafka cache now evicts segments even after all consumers disconnect.
- The Protobuf JSON codec now correctly unwraps well-known wrapper types.
- An MQTT
CONNECTwith a Will message no longer crashes the whole engine, and a Will message continuation read is now bounded by its declared payload length. - Fixed several MQTT-to-Kafka publish/produce flow-control issues that could stall or crash an engine worker, including a merged produce window collapse on multi-partition topics and a race between the session stream and its Kafka stream.
- Numerous Kafka Proxy protocol-framing corrections affecting padding, varint sizing, per-connection API version negotiation, and Fetch/Produce edge cases.

