-
Notifications
You must be signed in to change notification settings - Fork 175
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
Broken Kotlin 1.4 support in 2.13.2 #556
Comments
Hmmmh. I wonder if the expected baseline is documented anywhere? 2.13(.2) seems to depend on Kotlin 1.5.30. I do agree that baseline changes should not occur in patches, just trying to figure out what the baseline is expected to be: and suggest adding explicit definition. |
No, there is no official published end-of-life schedule for Kotlin versions. For our project, I decided that if the minor version got an update in the last two years - it's still alive. But it's just our own made-up criteria. 1.4 is still alive according to it, 1.3 is not. But it's definitely a good idea to establish a watermark and test against minor versions above this watermark. |
While I am not the maintainer of this module, I think a PR to make 2.13(.3) work again would be accepted if (but only if) it could be done without reverting fix/change of #527. |
Well, there are no value classes in Kotlin 1.4. So, the check for |
Ok. Then a PR would be acceptable I think. I don't think I'll be able to do that but could probably code review and merge it. |
It also looks like the project builds against 1.6.10 now in 2.14. It may be not the best approach. Kotlin mostly guarantees binary compatibility with runtimes one minor version lower than the kotlin version that was used for the build. So, the 2.14 branch being released today will be fine on 1.6.x, should be fine on 1.5.x, but no guarantees on 1.4.x. See https://kotlinlang.org/docs/kotlin-evolution.html#evolving-the-binary-format for reference.
It's a good idea to use the lowest version of Kotlin that is actually needed for the project. It looks like for this module right now it's 1.5.x. I was able to downgrade 2.14 branch to Kotlin 1.5.32 mostly successfully (with one failed It would be great if this project may be migrated to build on 1.5.32 for the sake of binary backward compatibility. |
/cc @dinomite |
Unless there is a policy change, the three major versions (i.e., down to 1.4 at this time) will be supported from
|
Are there any plans for fixing this regression with Kotlin 1.4? We have to stick to 1.13.1 because of this. |
Alas, looks like both Kotlin maintainers are inactive at this point in time. :-( Is there a PR that would fix this, for 2.13? Unfortunately, too, I just released 2.13.3 so would probably need a micro-patch for Kotlin (2.13.3.1) to make it quickly available. |
It's been broken for 2 months already, we can wait for 2.13.4 or 2.14.0 just fine, no rush. The problem is that nobody with deep Kotlin background can really make a code review for my patch looks like... |
Sure, but I do not mind pushing 2.13.3.1 relatively soon to resolve the issue. Also: assuming things go ok, would you have time and interest to become a maintainer? I feel that this would be helpful for the project, but I understand that you may have other commitments. |
Fixed via #557 -- backported in 2.13 for 2.13.4 or (if such micro-patch released), 2.13.3.1. |
I can help to keep this module alive and the community PRs moving for essential things. Especially because users of our project (Temporal) use Kotlin a lot and we rely on Jackson, it's important for us to see this module in a healthy state :) |
No problem; there is no real minimum definition for what co-author/maintainer would have to do. |
@cowtowncoder Sure, sign me in, and let's keep it alive ;) |
Sounds good! |
Hi! Sorry for bumping this. Is there a planned release date for 2.13.4, 2.13.3.1 or whatever the closest version with this fix is? :) We updated our library to latest to get rid of jackson-databind#2816, but we can't drop support for 1.4 just yet, otherwise we might have problems with Gradle 6 Asking because we'll wait if it's around the corner, but we'll have to downgrade to 2.12 it if it's not yet planned :( Update: it looks like #523 doesn't support 1.4 also, so fixing this issue doesn't really solve 1.4 support problem completely |
No firm plans for 2.13.4 release (it will take a while), due to there being few issues fixed. If there is desire to get |
Hi there, the same trouble with jackson 2.13.3 |
Actual
Using Kotlin 1.4.32 and Jackson 2.13.2.20220324 with jackson-module-kotlin I'm getting an exception
The same code works fine with Jackson 2.13.1
The regression is introduced in #527
kotlin.reflect.KClass.isValue()
was added in Kotlin 1.5 and not available in 1.4: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/is-value.htmlExpected
The text was updated successfully, but these errors were encountered: