diff --git a/release-notes/VERSION-2.x b/release-notes/VERSION-2.x index ffb34165e8..997a989c5f 100644 --- a/release-notes/VERSION-2.x +++ b/release-notes/VERSION-2.x @@ -16,6 +16,8 @@ Project: jackson-databind #4577: Cannot deserialize value of type `java.math.BigDecimal` from String "3." (not a valid representation) (reported by @dmelisso) +#4595: No way to explicitly disable wrapping in custom annotation processor + (reported by @SimonCockx) 2.17.1 (04-May-2024) diff --git a/src/main/java/com/fasterxml/jackson/databind/PropertyName.java b/src/main/java/com/fasterxml/jackson/databind/PropertyName.java index 6a92bc260a..e514f6d20c 100644 --- a/src/main/java/com/fasterxml/jackson/databind/PropertyName.java +++ b/src/main/java/com/fasterxml/jackson/databind/PropertyName.java @@ -82,6 +82,9 @@ protected Object readResolve() { return NO_NAME; } */ + // 22-Jun-2024, tatu: This is hopeful not problematic as marker + // value should only be provided by AnnotationIntrospector etc, + // but not stored in Deserializer/Serializer instances. } return this; } @@ -127,6 +130,10 @@ public static PropertyName merge(PropertyName name1, PropertyName name2) { if (name2 == null) { return name1; } + // 22-Jun-2024, tatu: [databind#4595] Should not merge NO_NAME + if (name1 == NO_NAME) { + return name1; + } String ns = _nonEmpty(name1._namespace, name2._namespace); String simple = _nonEmpty(name1._simpleName, name2._simpleName);