Hi, I have updated the KIP now and the latest version of PR is available.
About Kirk's questions: K11: Yes, both can have a deserialization exception but we deserialize the key first, so if an error occurs then, we do not try to deserialize the value. So the exception raised is always for key or value. K12: Not sure of concrete usage for now, just a sugar feature. I suppose we can imagine some use case where you need/want only the first bytes and do not want to waste memory allocating the whole payload (SchemaRegistry's schema Id or something similar). K13: The old constructor is not needed anymore. It is just for compatibility until removed in a major version. As public we might have some users using it even if I cannot see any valid reason for this. Thanks, Fred