Over the years I have seen repeated discussions about how to handle streams, ByteArrays, or other more forms which don't require a full copy of the bytes into in-memory decoded String before processing. Overall, the prevailing conclusion seems to be "If you have bytes, use X instead" (typically Moshi). This is despite a streaming API existing for a few years now in an "experimental" status.
Is there a long-term plan for support? I can find no clear mention or plan around this set of features on any roadmap or official docs. Should I assume that streaming is too far away from kotlinx.serialization's core strengths, and the streaming support will likely never reach maturity?
In a library, I cannot reasonably leverage an experimental API. Character-based decoding is the majority of what I need, but the most performance-critical portion works in streams (unsurprisingly). kotlinx.serialization is beautiful and a great fit in so many other ways, but the performance hit on binary parsing is simply brutal.
What barriers remain before the kotlinx.serialization streaming API can be marked stable?