QTextCodec provides support for - primarily - legacy text codecs that have very little relevance on modern systems, where strings are either utf-16 or utf-8.
We can remove text codec support from QtCore, and move respective functionality into a separate module. Requiring application developers that need to consume or produce text data in other encodings to explicitly convert the data using that module, is acceptable; QTextCodec provides the necessary functions to convert to and from QString.
Classes that use QTextCodec in the API, or internally, and that would impacted by such a change are at least (incomplete list)
In addition, several classes in Qt use QTextCodec functionality internally in the implementation, and the documentation refers to QTextCodec in a number of places (which as such is not a problem, but might require a review to ensure that we don't recommend usage of legacy functionality).
The individual text codecs already live in plugins, no need to change anything here.