I'm looking at putting together an opensource project in Java and am heavily debating not supporting JDKs 1.4 and older. The framework could definitely be written using older Java patterns and idioms, but would really benefit from features from the more mature 1.5+ releases, like generics and annotations.
So really what I want to know is if support for older JDKs is a major determining factor when selecting a framework?
Understandably there are legacy systems that are stuck with older JDKs, but logistics aside, does anyone out there have a compelling technical reason for supporting 1.4 JDKs?
thanks,
steve
I can't think of any technical reason to stick with 1.4 compatibility for mainstream Java with the possible exception of particular mobile or embedded devices (see discussion on Jon's answer). Legacy support has to have limits and 1.5 is nearly 5 years old. The more compelling reasons to get people to move on the better in my opinion.
Update (I can't sleep): A good precedent to consider is that Spring 3 will require Java 5 (pdf). Also consider that the lot of the servers that the larger corporations are using are, or will soon be, EOL ( WAS 5.1 is out of support since Sep '08, JBoss 4.0 support ends Sep '09) and that Java 1.4 itself is out of support since Oct '08.