michaeljmarshall commented on code in PR #407:
URL: https://github.com/apache/pulsar-site/pull/407#discussion_r1105042722


##########
docs/client-libraries.md:
##########
@@ -22,6 +22,14 @@ Pulsar supports the following language-agnostic client 
libraries:
 | REST      | [User doc](client-libraries-rest.md)      | 
[Bundled](pathname:///release-notes/)             | 
[Bundled](https://github.com/apache/pulsar/tree/master/pulsar-broker)    |
 | WebSocket | [User doc](client-libraries-websocket.md) | 
[Standalone](pathname:///release-notes/client-ws) | 
[Bundled](https://github.com/apache/pulsar/tree/master/pulsar-websocket) |
 
+:::note 
+
+**Client / Broker compatibility**
+
+A design goal of Pulsar is to ensure full compatibility between the same major 
version clients and brokers, e.g. 2.x clients are compatible with all 2.x 
brokers, etc.

Review Comment:
   By my understanding, the goal is broader. The Pulsar binary protocol has 
never introduced breaking changes. The project's goal is to ensure full 
compatibility between brokers and clients across all versions. This is 
especially important since we're using a bit of a different understanding of 
major versions, and we're likely going to release 3.0 soon, and there is no 
foreseeable reason the protocol will break.
   
   For reference, we version the protocol by adding a new `ProtocolVersion` 
enum value any time a feature is added. When the client and broker connect, 
they establish a version to use, and both are supposed to adapt their behavior 
depending on the agreed upon version.
   
   Here is the source for that enum: 
https://github.com/apache/pulsar/blob/950ff441da28e144bdfb71c317a9bc339d4f05b7/pulsar-common/src/main/proto/PulsarApi.proto#L241-L266
   
   @merlimat would you be able to speak to the historical evolution of the 
protocol?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to