In KIP-447 we introduced a new thread-producer which is capable of exactly-once semantics across multiple tasks. The new mode of EOS, called eos-beta, is intended to eventually be the preferred processing mode for EOS as it improves the performance and scaling of partitions/tasks. The only downside is that it requires brokers to be on version 2.5+ in order to understand the latest APIs that are necessary for this thread-producer.
We should consider deprecating the eos-alpha config, ie StreamsConfig.EXACTLY_ONCE, to encourage new. & existing EOS users to migrate to the new-and-improved processing mode, and upgrade their brokers if necessary.
Eventually we would like to be able to remove the eos-alpha code paths from Streams as this will help to simplify the logic and reduce the processing mode branching. But since this will break client-broker compatibility, and 2.5 is still a relatively recent version, we probably can't actually remove eos-alpha in the near future