It was discovered that there were 3 incompatibilities:
1. One call to String#isEmpty - this method is only available in 1.6. This call has been removed in favor of a StringUtils.hasText check.
2. The SubjectAwareExecutorService fails to compile because the JDK 1.6 ExecutorService generics declarations are different on the invokeAll* and invokeAny* methods. They have the same source erasure, so this won't affect JDK 1.5 environments at runtime.
3. The DelegatingSubjectTest#testRunAs test passes in the IDE using JDK 1.5, but fails on the command line for 1.5, and the reason is not known at the moment. It could be due to how the test is formed, but I don't perceive this as being a blocker for 1.5 runtime.
So at the moment, 1.6 is required to build, but Shiro will work in 1.5 environments again.
I'm moving this issue to 1.1.1 to address after the 1.1 release as this no longer constitutes a blocker.