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

Drop Kotlin 1.4 support from Kotlin module 2.15 #632

Closed
cowtowncoder opened this issue Feb 20, 2023 · 7 comments
Closed

Drop Kotlin 1.4 support from Kotlin module 2.15 #632

cowtowncoder opened this issue Feb 20, 2023 · 7 comments
Labels
Milestone

Comments

@cowtowncoder
Copy link
Member

cowtowncoder commented Feb 20, 2023

As of Jackson 2.14, Kotlin module works (and is tested to work via CI) with kotlin-core versions 1.4 through 1.7 (1.8 is an open question). Default dependency is to kotlin-core 1.5.

But it seems that there is diminishing value in trying to keep compatibility with kotlin-core 1.4 and it has been suggested it would make sense to drop support. This issue is proposing doing that with Jackson-module-kotlin 2.15.0 release.

If we decide to proceed with this, work needed includes:

@cowtowncoder
Copy link
Member Author

cc @k163377 @dinomite @viartemev

@k163377
Copy link
Contributor

k163377 commented Feb 23, 2023

Memo:
I also intend to add the following check
#628 (comment)

@Spikhalskiy
Copy link
Contributor

Spikhalskiy commented Feb 26, 2023

If Kotlin 1.4 support is dropped, it's better to set a language level or build against Kotlin std lib in a way that makes jackson-module-kotlin not binary compatible with Kotlin 1.4 at all.
Build-time failure is better than unpredictable misbehaving at runtime.
It can be achieved by building against Kotlin 1.6, but testing against >=1.5. Kotlin builds are binary compatible one minor version down. So Kotlin 1.5 will be supported by such a build, but not Kotlin 1.4.

@cowtowncoder
Copy link
Member Author

@Spikhalskiy That sounds like a good idea. So the recently closed PR that was to build using 1.7 was close but could be modified to do this.

@cowtowncoder
Copy link
Member Author

Although changes to README, CI are in, I hope we can consider additional changes to build, runtime checks for kotlin-core in use (to prevent users from accidentally attempting to use with pre-1.5 Kotlin).

@SimonaKempleG7
Copy link

This is a discussion about dropping support for Kotlin 1.4 in the Jackson module. It seems that there is agreement that dropping support would make sense, and the work needed to do this is outlined. Some contributors have also suggested ways to ensure that the module is not binary compatible with Kotlin 1.4 at all, which would be better than unpredictable misbehaving at runtime. The idea of building against Kotlin 1.6 and testing against 1.5 is suggested to achieve this goal.

@cowtowncoder cowtowncoder added this to the 2.15.0 milestone Mar 17, 2023
@cowtowncoder
Copy link
Member Author

Completed via #646: Jackson 2.15 version of this module will require Kotlin core of 1.5 or higher.

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

No branches or pull requests

4 participants