While I like the idea and think it makes sense, it would STILL introduce a breaking change.
For example: Delphi VCL datasets often persist column metadata in .dfm files, and they can raise runtime exceptions when that metadata no longer matches. Even something as simple as changing a column’s size can break older clients. Not that they would actually use the column, but plenty of people seem to love using `SELECT *` for some crazy reason...
I’m fully supportive of modernization and removing legacy crutches, but in this case I have to admit that Dmitry’s approach is ultimately the safer option.