Hey thanks man! I'm now working on the incredibly boring method of doing gridview upgrades. Since there are so many new column types in the next version, I don't want people to miss out on them, by making them delete the old ones and import the new ones. Gonna be tricky. Maybe I can just "accidentally" delete everyone's settings and write the new ones out, but this is going to be an ongoing process as new things are added, and I need a better user-story for it.
You could always have a "first time run" pop-up that asks you which setting they want to keep, and what of the new stuff they want to add. It'd be a pain to update for each new version though.
So I've solved this in the following manner. From now on (0.4.2+) DT will come with a set of compiled in "default views." These cannot be edited, but can be copied. The copies can be edited, or you can create wholly new custom views. Your custom views will be kept between versions and can be imported/exported as usual.
The only ugly part is going to be the upgrade from 0.4.1 to 0.4.2. Where if you had old "custom views" that use the names of what are now "built-in" views, you will be forced to rename them on first launch. It's ugly but there is no data-loss, and seems to be the best way forward.
I noticed that a child gets its own immigration wave, would it be possible to assign a baby to the same wave as its mother?
Unfortunately, the immigration wave grouping method is pure guesswork based on in-game creature ids. There is no sure-fire way to know when a dwarf showed up (that I have found). So take it or leave it, but it won't ever be 100% correct