Changing APIs in Service Packs
Omar posted that a performace fix for System.Drawing.Imaging made it into .NET 1.1 SP1. This is good, since we'd like to use it in Community Server (once we find out if it still uses unmanaged code).
However, one important thing came up... what if we build it to use that function and the client doesn't have SP1? What will happen then? Will the application throw an exception and die? Would it hopefully be compiled intelligently so that it was running on straight 1.1 it would default to the old method? Or would we have to do some lovely magic with reflection to see if the method exists, and default to the old one?
This posed the question, should there be API changes in service packs? It seems innocent enough to add a new method with additional parameter, but service packs are just service packs. It is still .NET 1.1, but if you compile against a service pack, are you loosing compatibility with everyone who is running 1.1 and not your patch level?
I may be way off base, since MS might have made it so that at runtime it will automatically check or the new method is compiled in with the code and doesn't rely on the user having SP1. Just some food for thought.