OSS and the .NET Framework upgrade


I’ve hit a bit of a dilemma recently, I want to use features in C# 4.0 and .NET 4.0 to enhance AutoMapper, but this would eliminate the possibility of .NET 3.0 projects from being able to use the new version.

One option is to say that the current version is the last 3.0 version, and if you want 3.0, use that one.  Another option is to fork, and keep a 3.0 version going forward, where I can apply bug fixes etc. to it.

This is the first OSS project I’ve been involved in that actually survived to another .NET Framework release, so I’m not entirely sure what the community expectations would be around this area.

My initial thought is just to upgrade the library to VS 2010 and .NET 4, but that might leave a few people in a lurch.  Luckily I’m on Git, so it’s not really a problem to support multiple branches.

How have other projects dealt with this?

Container-friendly domain events