...
- The Kafka protocol specification will be updated to indicate which ProtocolVersion a certain request type and version was introduced in, as well as which ProtocolVersion it was removed (it could also state a deprecate version). : E.g.:
- ProduceRequest v3:
- Added in ProtocolVersion: 19
- Deprecated in ProtocolVersion: 25
- Removed in ProtocolVersion: 27
- The Kafka protocol specification will be moved to the kafka.git repository so it is version along with the code.
- The Kafka protocol specification of the latest Kafka release will be available on the homepage
- No request/response definitions are ever removed from the protocol specification. When removing support for a request type/version only the "Removed in ProtocolVersion: .." information is added.
- Patches with additions to the Kafka protocol must also include additions to the protocol specification and an increment in the global ProtocolVersion
- The global ProtocolVersion should only be stored in one place, preferably in the broker code base.
...