W.r.t. zk-107 the change in message format was the additional configuration fiend in notifications, which
is assumed to be at the end. Then there are the new backwardCompatibility flag
// ZK-107 sends the configuration info in every message.
// So messages are 36 bytes + size of configuration info
// (variable length, shoulld be at the end of the message).
boolean backCompatibility36 = (response.buffer.capacity() == 36);
which need to be adjusted because now we may have the version so the size without config may be bigger.
Instead of this flag perhaps we could just check the size to determine that there's a version, and then use the version to see if the message has a config field. Also perhaps it would be cleaner to have a config size field before the config field,so that we get rid of the assumption that config must be last in the message, which makes it more difficult to extend.