It isn't perfect and still requires some work but you can inherit from the previous version of the output class to make a new one. Then you have to do some error catching or type checking to figure out at runtime which to load it as.

The other option is to handle the serialization manually which can be a pain in the arse.