+1 I'm in favor of dropping Java 6 support. If users still need to run new versions of POI on old JVMs, they should be able to cross-compile, though it may require some extra tools on their end to modify the bytecode to be compatible with and old JVM.
If we can figure out a way to maintain binary compatibility with Java 6 while rewriting our code with features from Java 7 (diamond operator for inferred generic type, try-with-resources, Unicode literals), then it's a no-brainer. If cross compilation doesn't work, I was toying with the idea of rewriting parts of the code in Kotlin, Scala, or other static JVM language that maintains Java 6 compatibility while providing a less verbose language to write code in (writing an iterator in Java is particularly painful). If we're talking about POI 4.0, we should also think about replacing XMLBeans, since that can't be done gradually like refactoring the code to use Java 7 language features. Either before or after we replace XMLBeans, it'd be worthwhile to fully read files into POJOs so we don't have to keep an XMLDOM open. This is why we struggle with RAM and CPU performance. I'm not sure if it's easier to replace XMLBeans before de-XMLDOM'ing POI (assuming we want that), but it's worth discussing as we look at the roadmap of dependent tasks to move forward. Of course, if we're not ready to embark on replacing XMLBeans and de-XMLDOM, we can drop Java 6 support in POI 4 and work on removing XMLBeans and the XMLDOM in POI 5 (or 6). On Jul 9, 2017 14:29, "kiwiwings" <kiwiwi...@apache.org> wrote: It has been a while that we've discussed this topic ... or at least I couldn't find another more recent/decent thread ... [1] How about switching to Java 7 now? If we'd do, will we change to version 4 then? Andi [1] http://apache-poi.1045710.n5.nabble.com/Java-6-support-td5721373.html -- View this message in context: http://apache-poi.1045710.n5. nabble.com/Java-6-support-tp5721373p5728102.html Sent from the POI - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org