I am very happily using Kryo
And using the CompatibleFieldSerializer I have exactly the behavior I need:
Any fields that a loaded save-game file has, that my code doesnt have (anymore) will be ignored.
Any fields that might be missing from a save-game file, will just left out, hence those fields will be NULL, or actually the default value.
It's very nice, since, I use save-games for debugging as well: I walk around the world, do stuff; and then when I stop the game it automatically saves a auto-save-game, which will be load be default on next startup.
So in debugging wherever I go, whatever I do its saved... which is really helpful when you have to restart and need to have what you just did.
And it helps to avoid save-game compatibility problems for end-users if implemented properly.