In the last release, we introduced a new module flink-formats. Currently only flink-avro is located there but we will add more formats such as flink-json, flink-protobuf, and so on. For better separation of concerns we want decouple connectors from formats: e.g., remove KafkaAvroTableSource and KafkaJsonTableSource.
A newly introduced FormatFactory will use Java service loaders to discovery available formats in the classpath (similar to how file systems are discovered now). A Format will provide a method for converting byte to target record type.