...
- Every time a protocol version changes, for any request/response, ApiVersion will be bumped up.
- Protocol documentation will be versioned with ApiVersion. Every time there is a ApiVersion change, protocol documentation version needs to be updated and linked to main documentation page.
- Deprecation of protocol version will be done via marking the version as deprecated on the protocol documentation.
- On getting unknown protocol version, broker will send an empty response, instead of simply closing client connection.
- Metadata response will be enhanced to also contain broker version, i.e., (versionId, versionString), of the responding broker.
- Metadata request with single null topic and size of -1 a null array can be used to fetch metadata response with only broker version information and no topic/broker info. Note that this will require changing MetadataRequest from ArrayOf[STRING] to NullableArrayOf[STRING].
- On receiving a metadata request with single null topic with size of -1null array, broker will respond without topics metadata, as this can lead to unnecessary penalty on large clusters.
...