Configuration File Compatibility
George Peter Staplin: As Whim evolves to support more features we will need to support some form of seamless upgrading. My proposal is that we use a format like this:
#VERSION 123 set.config key ... ...
For compatibility if the #VERSION header is missing we will assume the oldest format. We also need to structure the code so that we aren't littered with branches to handle upgrades.
For example we may have:
compat.upgrade.whim_behavior compat.upgrade.whim_menus
This should ease upgrades by making them automatic, and translating old configuration keys if needed/possible.
Historically Whim used ~/.whim_config, but I decided that compatibility with the automatically set/saved options and the user overrides would be problematic, so the ::whim_config storage was moved to ~/.whim_behavior (which corresponds to some of the Behavior menu).
Based on Steve's feedback we will have something like:
#VERSION 123 #### Do not edit anything above this line. ####