woodstox icon indicating copy to clipboard operation
woodstox copied to clipboard

Increase JDK baseline to Java 8 (Woodstox 7.0.0)

Open cowtowncoder opened this issue 2 years ago • 8 comments

Currently Woodstox 6.2.x only requires Java 6 for compilation and running, but time is probably ripe to move to Java 8 baseline since that is the oldest actively supported JDK/JRE version.

On Woodstox version bump: this cannot be done in a patch release for sure, but although some might argue this requires major version increase, I feel it is more of a minor update in this particular case. Most users have migrated and due to slow trickle of fixes for Woodstox itself, systems running on pre-Java 8 have no urgent need for updates. So I don't think there is much downside to making this change for Woodstox 6.3.0.

cowtowncoder avatar Nov 20 '21 17:11 cowtowncoder

Java 8 is a requirement for many other libraries nowadays. There definitely is precedent for upping the Java version in a minor update e.g. commons-io, commons-compress, and common-lang all did so.

dan2097 avatar Nov 20 '21 18:11 dan2097

Thank you @dan2097.

cowtowncoder avatar Nov 20 '21 22:11 cowtowncoder

Java 8 is a requirement for many other libraries nowadays. There definitely is precedent for upping the Java version in a minor update e.g. commons-io, commons-compress, and common-lang all did so.

Very weak argument. This is the same argument as getting a new mobile phone every two years just because your operator provides you a new almost one because you extend your contract for another two years.

An upgrade makes sense if you are going to use those features.

Regarding Commons: I consider this a dick move from my fellow Commons committers because those libraries are use EVERYWHERE and they should have stayed at 7 until next major.

michael-o avatar Jan 19 '22 08:01 michael-o

Wow. Please tell us how you really feel @michael-o :-)

I don't think comparison here is particularly apt: Java 8 has been around for a while and has really become the new baseline for anything not migrating to the new module world. But beyond using new features there is also the question of tooling for Woodstox itself: it is not very easy to get access to JDK 6 and so in practice builds have already run on JDK 8 for years. So verifying actual usability from pre-Java-8 systems is difficult.

But I'll keep this in mind as -1 against upgrade; I will probably reach out on mailing lists too before making decisions here. Perhaps this would also suggest that actually major version should be increased to 7.0, if baseline is increased.

Finally, note that previous 6.x version would remain JDK 6 and branch technically speaking open.

cowtowncoder avatar Jan 30 '22 18:01 cowtowncoder

+1 on the major version bump for a baseline change.

michael-o avatar Jan 30 '22 19:01 michael-o

For clarification: I don't mind going Java 8 at all, but it has to be justified and the code should use Java 8 features. Just Java 8 class version won't make it Java 8.

michael-o avatar Jan 30 '22 21:01 michael-o

Java 8 is a requirement for many other libraries nowadays. There definitely is precedent for upping the Java version in a minor update e.g. commons-io, commons-compress, and common-lang all did so.

Very weak argument. This is the same argument as getting a new mobile phone every two years just because your operator provides you a new almost one because you extend your contract for another two years.

An upgrade makes sense if you are going to use those features.

Regarding Commons: I consider this a dick move from my fellow Commons committers because those libraries are use EVERYWHERE and they should have stayed at 7 until next major.

I'm not arguing that one should update for the sake of it, but the state of the Java ecosystem is important. If the other "base" dependencies are on Java 8, then any complex project must neccesarily also be on Java 8+. If the downsides are small, the upsides to justify an update only have to be relatively small.

For a start as @cowtowncoder points out the lack of tooling support in GitHub Pipelines introduces overhead in guaranteeing that the project actually still builds on Java 6/7

There's also various quality of life improvements e.g. https://github.com/FasterXML/woodstox/blob/6adb1e498e259d42a95b20186bd336d41c4200e4/src/test/java/wstxtest/BaseWstxTest.java#L505

dan2097 avatar Jan 30 '22 23:01 dan2097

Quick note: I think this upgrade (which I am in favor of) should bump Woodstox major version to 7.

cowtowncoder avatar Jun 27 '22 23:06 cowtowncoder

Quick note: here we are, 2 years later :-D

I am trying to close out 2 feature PRs first, for 6.6 I hope; and after this can consider the bump.

cowtowncoder avatar Nov 04 '23 00:11 cowtowncoder