Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change JDK baseline for Jackson 3.0 from Java 8 to Java 17 #4820

Closed
cowtowncoder opened this issue Dec 1, 2024 · 10 comments
Closed

Change JDK baseline for Jackson 3.0 from Java 8 to Java 17 #4820

cowtowncoder opened this issue Dec 1, 2024 · 10 comments
Labels
3.0 Issue planned for initial 3.0 release

Comments

@cowtowncoder
Copy link
Member

cowtowncoder commented Dec 1, 2024

Describe your Issue

As per title, Jackson 3.0 need not (and should not) keep JDK baseline as Java 8.
We should pick a support LTS version to use as the new base.

We have a choice to make; currently likeliest choices are:

  • Java 17 (for maximal support for existing user base)
  • Java 21 latest and greatest

We can decide on this via separate discussion; this issue is for tracking actual change.

EDIT: Discussion here: FasterXML/jackson-future-ideas#73

@cowtowncoder cowtowncoder added the 3.0 Issue planned for initial 3.0 release label Dec 1, 2024
@pjfanning
Copy link
Member

My opinion is that libs ideally support the max number of Java versions. Multi-Release jar support is there to help us optimise support for different Java versions.

@JooHyukKim
Copy link
Member

Found dup issue #3946

@JooHyukKim
Copy link
Member

Which JDK version do you have in mind, with multi-release jar strategy @pjfanning?

@cowtowncoder
Copy link
Member Author

I would prefer not having to use MR for anything, personally. But if we must for something I guess we can try figuring it out.

But even if we do, we need to set up minimum baseline and I think Java 8 should be left for Jackson 2.x. So the question remains.
But let's have discussion/vote on

FasterXML/jackson-future-ideas#73

@cowtowncoder cowtowncoder changed the title Change JDK baseline for Jackson 3.0 from Java 8 to Java 21 (?) Change JDK baseline for Jackson 3.0 from Java 8 to Java 17 or 21 (?) Dec 1, 2024
@cowtowncoder
Copy link
Member Author

Quick suggestion: unless anyone objects, I could work on increasing baseline first to JDK 17 (wrt CI). And then if (but only if) decision is made to go to JDK 21 make further changes. This allows finding possible issues wrt change of baseline and tackling most of complexity, regardless of the ultimate decision on exact baseline JDK to use.

@cowtowncoder
Copy link
Member Author

cowtowncoder commented Dec 2, 2024

Note on work for initial JDK 17 update (which may or may not be the last change, depending on discussions)

Core

Jackson-jr

Data formats

Data types

Other modules

JVM langs:

Providers

@maxandersen
Copy link

Go for 17 please otherwise Quarkus, spring and lots of others will be stuck on older Jackson and we'll be all stuck maintaining old code.

Unless you know of some specific feature in java 21 that Jackson just can't function without and not support from Java 17 then please go for 17.

@JooHyukKim
Copy link
Member

Your vote + opinion on FasterXML/jackson-future-ideas#73 would be great @maxandersen !

@cowtowncoder cowtowncoder changed the title Change JDK baseline for Jackson 3.0 from Java 8 to Java 17 or 21 (?) Change JDK baseline for Jackson 3.0 from Java 8 to Java 17 Dec 3, 2024
@JooHyukKim
Copy link
Member

JooHyukKim commented Dec 3, 2024

@cowtowncoder
Copy link
Member Author

Completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0 Issue planned for initial 3.0 release
Projects
None yet
Development

No branches or pull requests

4 participants