True, the new wire protocol changes some of this. However, the bulk of the changes here are to update the GoClient to suport multi-topic, multi-partition in its internals. The change from the current [(topic,partition, messages),(topic,partition,messages)] over to the new [(topic,(partition,messages),(etc)] only changes a few lines of code. I considered this step 1 to get to step 2 being the new wire format. Not sure if you are interested in collaborating on this, sounds like it conflicts with work you are doing, so i should drop it?