From a1ef287086abb603eb59dc9bb0e54f4cf31069ef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 15 Feb 2026 11:56:45 +0000 Subject: [PATCH 1/2] Initial plan From 890471389a99bd5a55a00fd6782e55b8a47d6e85 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 15 Feb 2026 12:00:57 +0000 Subject: [PATCH 2/2] Update Jackson from 2.19.0 to 3.0.4 - Updated version in gradle/libs.versions.toml to 3.0.4 - Changed Maven group IDs from com.fasterxml.jackson to tools.jackson - Updated imports from com.fasterxml.jackson to tools.jackson - Migrated JacksonJsonSerializer to use Jackson 3.x API: - Changed ObjectMapper to JsonMapper - Updated Kotlin module registration to use kotlinModule() function - Used builder pattern for JsonMapper construction - All tests pass successfully Co-authored-by: bastianeicher <414366+bastianeicher@users.noreply.github.com> --- gradle/libs.versions.toml | 6 +++--- .../net/typedrest/serializers/JacksonJsonSerializer.kt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d8b37736..0d6ba63c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ okhttp3 = "5.3.2" uri-templates = "2.1.8" kotlinx-serialization = "1.10.0" -jackson = "2.19.0" +jackson = "3.0.4" moshi = "1.15.2" [libraries] @@ -10,7 +10,7 @@ okhttp3 = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp3" } okhttp3-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp3" } uri-templates = { module = "com.damnhandy:handy-uri-templates", version.ref = "uri-templates" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } -jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } -jackson-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" } +jackson-databind = { module = "tools.jackson.core:jackson-databind", version.ref = "jackson" } +jackson-kotlin = { module = "tools.jackson.module:jackson-module-kotlin", version.ref = "jackson" } moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" } moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" } diff --git a/typedrest-serializers-jackson/src/main/kotlin/net/typedrest/serializers/JacksonJsonSerializer.kt b/typedrest-serializers-jackson/src/main/kotlin/net/typedrest/serializers/JacksonJsonSerializer.kt index a246a08f..c67c7183 100644 --- a/typedrest-serializers-jackson/src/main/kotlin/net/typedrest/serializers/JacksonJsonSerializer.kt +++ b/typedrest-serializers-jackson/src/main/kotlin/net/typedrest/serializers/JacksonJsonSerializer.kt @@ -1,7 +1,7 @@ package net.typedrest.serializers -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.module.kotlin.registerKotlinModule +import tools.jackson.databind.json.JsonMapper +import tools.jackson.module.kotlin.kotlinModule import okhttp3.* import okhttp3.RequestBody.Companion.toRequestBody @@ -11,7 +11,7 @@ import okhttp3.RequestBody.Companion.toRequestBody * @param mapper The Jackson object mapper to use for serializing and deserializing. */ open class JacksonJsonSerializer @JvmOverloads constructor( - private val mapper: ObjectMapper = ObjectMapper().registerKotlinModule() + private val mapper: JsonMapper = JsonMapper.builder().addModule(kotlinModule()).build() ) : AbstractJsonSerializer() { override fun serialize(entity: T, type: Class): RequestBody = mapper.writeValueAsString(entity).toRequestBody(mediaTypeJson)