Dropping support for Java 5?
So far, I've maintained compatibility with Java 5 for my stuff (all the "blueMarine cluster": blueMarine, Mistral, jrawio, ForceTen, OpenBlueSky and the young blueOcean). Given that people who upgraded to Java 5 don't have much troubles in going to Java 6 - I mean, the big jump is from Java 1.4 to 5 - the reason of this choice was to continue supporting PPC Mac OS X and 32-bit Intel Mac OS X, since on Mac OS X Java 6 only runs on 64-bit Intel processors.
Now I'm really tired of that. Supporting two JDKs means to spent double time in a lot of things, including testing (some Hudson jobs are profiled for two JDKs, they are sucking lots of CPU and BTW this should be theorically extended to all the jobs); performance testing in particular sucks since I have to run them on my laptop and I can't do other things at the same time.
Now the straw that breaks the camel's back: I've discovered that JOGL stuff doesn't run on Mac OS X 64-bit with Java 5, in spite of native libraries for Mac OS X including all the architectures. It might be even something easy to fix, but the point is that I'm tired of these silly problems that make you crazy. Maintaining such a large codebase is already a big challenge for me, I must keep things as simple as I can.
So, I'm about to decide to drop support for Java 5. This means I'm losing most of potential users on Mac OS X. On the other side of the coin, the saved time would contribute in having more regular releases (I haven't made an official release of blueMarine for more than one year - without them I'm probably losing all the potential users). After all, at the moment Mac OS X users are probably the least interested in blueMarine, since they have more alternative applications than the other operating systems. And in one-two years, the share of 64-bit Intel Mac gear should be not small again.
For people wanting to use my libraries with Java 5, I could keep "-source 1.5", so they would just need to download and compile the sources, which should be doable without big troubles.
So, what do you think? If you left Java 1.4, are you still keeping Java 5 compatibility for your products? If so, why?