Skip to content

Commit 0b6320f

Browse files
authored
Merge pull request #799 from k163377/fix/775
Fixed problem with code compiled with 2.17.x losing backward compatibility
2 parents 3e85ec5 + 8814e2d commit 0b6320f

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

release-notes/CREDITS-2.x

+6-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ Authors:
1515

1616
Contributors:
1717

18-
# 2.17.1 (not yet released)
18+
# 2.17.2 (not yet released)
19+
20+
WrongWrong (@k163377)
21+
* #799: Fixed problem with code compiled with 2.17.x losing backward compatibility.
22+
23+
# 2.17.1 (04-May-2024)
1924

2025
WrongWrong (@k163377)
2126
* #776: Delete Duration conversion that was no longer needed

release-notes/VERSION-2.x

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ Co-maintainers:
1616
=== Releases ===
1717
------------------------------------------------------------------------
1818

19+
2.17.2 (not yet released)
20+
#799: Fixed problem with code compiled with 2.17.x losing backward compatibility.
21+
1922
2.17.1 (04-May-2024)
2023

2124
#776: Delete Duration conversion that was no longer needed.

src/main/kotlin/com/fasterxml/jackson/module/kotlin/Extensions.kt

+6-4
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,17 @@ fun jsonMapper(initializer: JsonMapper.Builder.() -> Unit = {}): JsonMapper {
3333
return builder.build()
3434
}
3535

36-
// region: JvmOverloads is set for bytecode compatibility for versions below 2.17.
37-
@JvmOverloads
36+
// region: Do not remove the default argument for functions that take a builder as an argument for compatibility.
37+
// The default argument can be removed in 2.21 or later. See #775 for the history.
38+
fun jacksonObjectMapper(): ObjectMapper = jsonMapper { addModule(kotlinModule()) }
3839
fun jacksonObjectMapper(initializer: KotlinModule.Builder.() -> Unit = {}): ObjectMapper =
3940
jsonMapper { addModule(kotlinModule(initializer)) }
40-
@JvmOverloads
41+
42+
fun jacksonMapperBuilder(): JsonMapper.Builder = JsonMapper.builder().addModule(kotlinModule())
4143
fun jacksonMapperBuilder(initializer: KotlinModule.Builder.() -> Unit = {}): JsonMapper.Builder =
4244
JsonMapper.builder().addModule(kotlinModule(initializer))
4345

44-
@JvmOverloads
46+
fun ObjectMapper.registerKotlinModule(): ObjectMapper = this.registerModule(kotlinModule())
4547
fun ObjectMapper.registerKotlinModule(initializer: KotlinModule.Builder.() -> Unit = {}): ObjectMapper =
4648
this.registerModule(kotlinModule(initializer))
4749
// endregion

0 commit comments

Comments
 (0)