For Java libraries, what bytecode version do we need to release it as?

I’m updating the BoofCV wrapper for Processing. It recently dropped Java 8 byte code in favor of java 11 byte code. Can I release a Processing library using Java 11 bytecode?

Such a library would require to run with at least processing-4.0, then you might as well go whole hog to java 17, which latest processing-4.0 supports.

Is Processing-3 java 8? Any point in maintaining compatibility with Processing-3?

Processing-3.5.4 is java 8, and uses an outdated version of antlr, but some people still use it for compatibility reasons. Processing-4.0 uses an updated version of antlr (supports java 11), however the most recent version of processing-4.0 is compiled with and supplied with its own jdk-17

1 Like

Well I guess if Processing 4 has hit critical mass then I’ll post the update, which will break Processing 3. If I get some hate mail I can just revert I guess.

I always postpone new Processing versions; so I’ll be sticking w/ P3 until P4 reaches actual bug-free maturity. :bug:

From my experience that takes many months after “stable” release; likely around version 4.1.x. :calendar:

1 Like