То, что вы говорите, это прямая (или восходящая) совместимость. Даже если все, что вы делаете, это добавление новых членов класса, то вы все равно не сможете получить прямую совместимость, используя стандартные архивы повышения.
Есть патч для boost xml архива, который пропустит новые неизвестные поля. Таким образом вы получите прямую совместимость при добавлении новых членов класса.
Другой - 3-й участник Архив дерева . Он хранит данные для boost :: property_tree :: ptree, которые вы можете записать как json. Он будет игнорировать неизвестные новые поля при загрузке.
Можно получить прямую совместимость из коробки в Протокол буфера