I have been messing with ideas on how to handle previous versions of CruiseControl.NET and I have a solution working for displaying properties in the property grid. I have to still check in those files and then add the version attributes to the properties. But I have been playing with how to know what version to use to save and open a configuration file. I haven't been able to come up with a way for creating a new configuration on how to determine what version without asking the user. So what I have come up with is to actually ask the user when they create a new configuration. There will be a dialog that opens, probably will be something similar to when you create a new project in Visual Studio, except not as many options. It will have a list of versions to select from and then where to save the configuration.
I am thinking of saving another file, sort of like a project file, that will store information on what version of CruiseControl.NET to use. That way, when the config file is loaded again, the project file can load the information on what version to use.
If a config is opened and the project file is not found in the directory, then I am thinking of using a dialog something like this

Where the user would select what version to use when they open the file. I know the screenshot is for a save dialog, but the concept is the same. The save dialog would be used if a user wanted to save to a different version of CruiseControl.NET then what was selected when the configuration was created or the last time it was saved as a different version.
None of this is yet implemented, I think i want to release a final before I put these in a release. There haven't been any bugs reported in a while except the couple that were fixed in the last couple nightly's. So I hope to release a final very soon.