I know that JMRI sometimes (I'm not sure under what conditions) creates .bak files of roster entries.
But how about the ability for it to maintain a number of versions of each of the roster entries? If you're familiar with GDG's in the IBM mainframe world, that's what I'm thinking of. Each time you change an entry, it creates a new version. When you reach the limit (see below), the oldest would roll off as a new version was created.
It could be selectable via a preference setting, with the default being one version (or two if you count the sometimes-created-.bak versions).
This would give you the ability to go back to a previous version if you made a change, or more likely a large number of changes or maybe an unknown change, that you'd like to back out without completely resetting the decoder.