I did a little more digging and it turns out that my earlier conclusion was based on some bad observations in Eclipse. It turns out that the only real issue is how Maven wants to do the build. Maven wants one version of Spring on the classpath. If we implement the new method needed to move to Spring 3.1, the camel-spring-test library compiled against 3.1 will work with client code using Spring 3.0 on its classpath. This binary compatibility for client code means that the only issue is compiling the Spring 3.1 compatible camel-spring-test JAR against the Spring 3.0 JARs. This feat won't be possible due to the aforementioned Maven behavior.
We need a way to compile the camel-test-spring module against Spring 3.1 but run the tests against Spring 3.1 and Spring 3.0. I can think of some ways to achieve that, but they are a little bit messy. Is there a clean way to get Maven to support this use case?
We also need to update the documentation to say from 2.11 or 3.0 onwards or export the documentation for later use. The Camel 3 stuff is still up in the air so do you have a roadmap for Spring 3.0 support deprecation?