File _patchinfo of Package patchinfo.28283
<patchinfo incident="28283">
<packager>fstrba</packager>
<issue tracker="jsc" id="SLE-23217"></issue>
<issue tracker="ijsc" id="MSC-611"/>
<rating>moderate</rating>
<category>feature</category>
<summary>Feature update for Jackson</summary>
<description>This update for Jackson fixes the following issues:
jackson-annotations was updated from version 2.13.0 to 2.15.2:
- Add 'JsonFormat.Feature's:
READ_UNKNOWN_ENUM_VALUES_AS_NULL,
READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE
- Add NOTICE file with copyright information
- Add 'JsonFormat.Feature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS'
- Allow explicit 'JsonSubTypes' repeated names check
- Version allignment to other jackson packages
jackson-bom was updated from version 2.13.0 to 2.15.2:
- Update 'de.jjohannes:gradle-module-metadata-maven-plugin' to 0.4.0
- Add override for 'version.plugin.moditect' to be '1.0.0.Final' until upgraded in 'oss-parent'/51
- Change defaults for Felix OSGi Bundle plug-in to fix timestamps for Reproducible Builds
- Add version for 'jackson-datatype-hibernate6'
- Add version for 'jackson-module-jsonSchema-jakarta'
- Gradle reports incorrect jackson-bom dependency version
- Moved 'module-info.java' to 'META-INF/versions/11' instead of 'META-INF/versions/9'
jackson-core was updated from version 2.13.0 to 2.15.2:
- Version 2.15.2:
* Allow override of 'StreamReadContraints' default with 'overrideDefaultStreamReadConstraints()'
- Version 2.15.1:
* Add FastDoubleParser section to 'NOTICE'
* Increase default max allowed String value length from 5 megs to 20 megs
* Problem with 'FilteringGeneratorDelegate' wrt 'TokenFilter.Inclusion.INCLUDE_NON_NULL'
- Version 2.15.0:
* Add numeric value size limits via 'StreamReadConstraints'
* Add SLSA provenance via build script
* Add 'StreamReadFeature.USE_FAST_BIG_DECIMAL_PARSER' to enable faster 'BigDecimal', 'BigInteger' parsing
* Add 'StreamReadConstraints' limit for longest textual value to allow (default: 5M)
* Optimize parsing 19 digit longs
* Fix possible flaw in 'TokenFilterContext#skipParentChecks()'
* Add 'Object JsonParser.getNumberValueDeferred()' method to allow for deferred decoding in some cases
* Add 'JsonFactory.Feature.CHARSET_DETECTION' to disable charset detection
* Use 'StreamConstraintsException' in name canonicalizers
* Offer a way to directly set 'StreamReadConstraints' via 'JsonFactory' (not just Builder)
* Prevent inefficient internal conversion from 'BigDecimal' to 'BigInteger' wrt ultra-large scale
* Add 'JsonGenerator.copyCurrentEventExact' as alternative to 'copyCurrentEvent()'
- Version 2.14.3:
* Optional padding Base64Variant still throws exception on missing padding character
* Address performance issue with 'BigDecimalParser'
* Backport removal of BigDecimal to BigInt conersio
* FastDoubleParser license
* Got 'NegativeArraySizeException' when calling 'writeValueAsString()'
- Version 2.14.2:
* Allow TokenFIlter to skip last elements in arrays
* Avoid instance creations in fast parser code
* Fix 'FilteringGeneratorDelegate' not creating new 'filterContext' if 'tokenFilter' is null
- Version 2.14.0:
* Add 'NumberInput.parseFloat()'
* Add 'StreamReadCapability.EXACT_FLOATS' to indicate whether parser reports exact floating-point values or not
* Add "JsonPointer#appendProperty" and "JsonPointer#appendIndex"
* Add a feature to allow leading plus sign ('JsonReadFeature.ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS')
* Add explicit bounds checks for 'JsonFactory.createParser()' methods that take 'byte[]'/'char[]'-with-offsets input
* Add explicit bounds checks for 'JsonGenerator' methods that take 'byte[]'/'char[]'/String-with-offsets input
* Add option to accept non-standard trailing decimal point
('JsonReadFeature.ALLOW_TRAILING_DECIMAL_POINT_FOR_NUMBERS')
* Allow TokenFilters to keep empty arrays and objects
* Allow use of faster floating-point number parsing with 'StreamReadFeature.USE_FAST_DOUBLE_PARSER'
* Allow use of faster floating-point number serialization ('StreamWriteFeature.USE_FAST_DOUBLE_WRITER')
* Avoid copy when parsing 'BigDecimal'
* Change minimum Java version to 8
* Fix 'JsonFactory.createGenerator()' with 'File' that may leak 'OutputStream's
* Fix 'JsonFactory.createParser()' with 'File' that may leak 'InputStream's
* Fix 'JsonPointer.empty()' should NOT indicate match of a property with key of ""
* Fix 'JsonPointer' quadratic memory use: Out Of Memory (OOME) on deep inputs
* Fix calling 'JsonPointer.compile(...)' on very deeply nested expression throwing 'StackOverflowError'
* Fix Hex capitalization for JsonWriter to be configurable (add 'JsonWriteFeature.WRITE_HEX_UPPER_CASE')
* Fix ReaderBaseJsonParser._verifyRootSpace() that can cause buffer boundary failure
* JsonGenerator to provide current value to the context before starting objects
* Make 'BigDecimal' parsing lazy
* Make 'BigInteger' parsing lazy
* Make 'JsonPointer' 'java.io.Serializable'
* Provide implementation of async JSON parser fed by 'ByteBufferFeeder'
* Remove workaround for old issue with a particular double
* Update ParserBase to support floats directly
* Use 'BigDecimalParser' for BigInteger parsing very long numbers
- Version 2.13.3:
* Limit size of exception message in BigDecimalParser
- Version 2.13.2:
* Fix `JsonLocation` in 2.13 that only uses identity comparison for "content reference"
* Update Maven wrapper
- Version 2.13.1:
* Fix incorrect parsing of single-quoted surrounded String values containing double quotes
jackson-databind was updated from 2.13.4.2 to 2.15.2:
- Version 2.15.2:
* Fix record setter not included from interface (2.15 regression)
- Version 2.15.1:
* Fix error in creating nested 'ArrayNode's with
* 'JsonNode.withArray()'
* Only avoid Records fields detection for deserialization
* Fix issue with deserialization when there are unexpected properties (due to null 'StreamReadConstraints')
* Fix TypeId serialization for 'JsonTypeInfo.Id.DEDUCTION', native type ids
- Version 2.15.0:
* Add '@EnumNaming', 'EnumNamingStrategy' to allow use of naming strategies for Enums
* Add 'EnumFeature.READ_ENUM_KEYS_USING_INDEX' to work with existing "WRITE_ENUM_KEYS_USING_INDEX"
* Add 'MapperFeature.REQUIRE_TYPE_ID_FOR_SUBTYPES' to enable/disable strict subtype Type Id handling
* Add convenience method 'SimpleBeanPropertyFilter.filterOutAll()' as counterpart of 'serializeAll()'
* Add enum features into '@JsonFormat.Feature'
* Add Stream-friendly alternative to 'ObjectNode.fields()':
'Set<Map.Entry<String, JsonNode>> properties()'
* Add support in 'TokenBuffer' for lazily decoded (big) numbers
* Allow serializing enums to lowercase ('EnumFeature.WRITE_ENUMS_TO_LOWERCASE')
* Allow use of '@JsonCreator(mode = Mode.PROPERTIES)' creator for POJOs with"empty String" coercion
* Cannot use both 'JsonCreator.Mode.DELEGATING' and 'JsonCreator.Mode.PROPERTIES' static creator factory methods for
Enums
* Case-insensitive and number-based enum deserialization are (unnecessarily) mutually exclusive
* Deprecate "exact values" setting from 'JsonNodeFactory', replace with
'JsonNodeFeature.STRIP_TRAILING_BIGDECIMAL_ZEROES'
* Deprecate classes in package 'com.fasterxml.jackson.databind.jsonschema'
* Do not require the usage of opens in a modular app when using records
* Enhance 'StdNodeBasedDeserializer' to support 'readerForUpdating'
* Fix Enum Deserialisation Failing with Polymorphic type validator
* Fix '@JsonDeserialize(converter = ...)' not working with Records
* Fix 'DelegatingDeserializer' missing override of 'getAbsentValue()' (and couple of other methods)
* Fix 'JsonTypeInfo.As.EXTERNAL_PROPERTY' not working with record wrappers
* Fix 'Optional<Boolean>' not recognized as boolean field
* Fix 'TypeFactory' cache performance degradation with 'constructSpecializedType()'
* Fix classloader leak: DEFAULT_ANNOTATION_INTROSPECTOR holds annotation reference
* Fix deserialization of '@JsonTypeInfo' annotated type fails with missing type id even for explicit concrete subtypes
* Fix Incorrect target type for arrays when disabling coercion
* Fix InvalidDefinitionException when calling mapper.createObjectNode().putPOJO
* Fix Null coercion with '@JsonSetter' not working with 'java.lang.Record'
* Fix properties naming strategy not working with Record
* Fix Timestamp in classes inside jar showing 02/01/1980
* Fix TokenBuffer does not implement writeString(Reader reader, int len)
* Fix transient 'Field's are not ignored as Mutators if there is visible Getter
* Fix wrong schemaType of 'LongSerializer'
* Flush readonly map together with shared on 'SerializerCache.flush()'
* Infer '@JsonCreator(mode = Mode.DELEGATING)' from use of '@JsonValue')
* Support '@JsonCreator' annotation on record classes
* Try to avoid auto-detecting Fields for Record types
- Version 2.14.3:
* Fix 'PrimitiveArrayDeserializers$ByteDeser.deserialize' ignores 'DeserializationProblemHandler' for invalid Base64
content
* Set transformer factory attributes to improve protection against XXE
- Version 2.14.2:
* Allow custom 'JsonNode' implementations
* Fix '@JsonTypeInfo' does not work if the Type Id is an Integer value
* Fix '@JsonValue' failing for Java Record
* Fix 'StdDelegatingDeserializer' ignoring 'nullValue' of '_delegateDeserializer'.
* Fix Enum polymorphism not working correctly with DEDUCTION
- Version 2.14.1:
* Fix 'Enum' values that cannot be read from single-element array even with
'DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS'
- Version 2.14.0:
* Add method 'ObjectMapper.copyWith(JsonFactory)'
* Add method(s) in 'JsonNode' that works like combination of 'at()' and 'with()': 'withObject(...)' and 'withArray(...)'
* Add optional explicit 'JsonSubTypes' repeated names check
* Add serializer-cache size limit to avoid Metaspace issues from caching Serializers
* Allow (de)serializing records using Bean(De)SerializerModifier even when reflection is unavailable
* Allow disabling Integer to String coercion via 'CoercionConfig'
* Allow non-boolean return type for "is-getters" with 'MapperFeature.ALLOW_IS_GETTERS_FOR_NON_BOOLEAN'
* Allow use of 'JsonNode' field for '@JsonAnySetter'
* Change 'JsonNode.with(String)' and 'withArray(String)' to consider argument as 'JsonPointer' if valid expression
* Change 'TypeSerializerBase' to skip 'generator.writeTypePrefix()' for 'null' typeId
* Change LRUMap to just evict one entry when maxEntries reached
* Create DataTypeFeature abstraction (for JSTEP-7) with placeholder features
* Deeply nested JsonNode throws StackOverflowError for toString()
* Deserialization of Throwables with PropertyNamingStrategy does not work
* Deserialize missing value of 'EXTERNAL_PROPERTY' type using custom 'NullValueProvider'
* Do not strip generic type from 'Class<C>' when resolving 'JavaType'
* Expose 'translate()' method of standard 'PropertyNamingStrategy' implementations
* Filter method only got called once if the field is null when using
'@JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = SomeFieldFilter.class)'
* Fix '@JsonIgnore' does not if together with '@JsonProperty' or '@JsonFormat'
* Fix 'configOverride.setMergeable(false)' not supported by 'ArrayNode'
* Fix 'StdDeserializer' that coerces ints to floats even if configured to fail
* Fix 'TokenBuffer' defaults for parser/stream-read features which neither passed from parser nor use real defaults
* Fix deduction deserializer with DefaultTypeResolverBuilder
* Fix issue preventing merge of polymorphic objects
* Implement 'float' and 'boolean' to 'String' coercion config
* Implement 'JsonNodeFeature.READ_NULL_PROPERTIES' to allow skipping of JSON 'null' values on reading
* Implement 'JsonNodeFeature.WRITE_NULL_PROPERTIES' to allow skipping JSON 'null' values on writing
* Improve performance of 'UnresolvedForwardReference' for forward reference resolution
* Legacy 'ALLOW_COERCION_OF_SCALARS' interacts poorly with Integer to Float coercion
* Replace 'JsonNode.with()' with 'JsonNode.withObject()'
* Support 'null'-valued 'Map' fields with "any setter"
* Support use of fast double parse
* Update 'MapDeserializer' to support 'StreamReadCapability.DUPLICATE_PROPERTIES'
- Version 2.13.5:
* Improve testing (likely via CI) to try to ensure compatibility with specific Android SDKs
* Jackson 2.13 uses Class.getTypeName() that is only available on Android SDK 26 (with fix works on ASDK 24)
jackson-dataformats-binary was updated from 2.13.0 to 2.15.2:
- Version 2.15.2:
* Fix 'logback-test.xml' in wrong place (avro/src/main/resources)
- Version 2.15.0:
* Add support for CBOR stringref extension ('CBORGenerator.Feature.STRINGREF')
* Add 'CBORGenerat.Feature.WRITE_MINIMAL_DOUBLES' for writing 'double's as 'float's if safe to do so
* Remove optimized 'CBORParser.nextTextValue()' implementation
- Version 2.14.3:
* Fix missing license file in Maven package for newer versions
* Fix 'CBORGenerator.writeRawUTF8String()' ignoring offset
- Version 2.14.1:
* Possible performance improvement on jdk9+ for Smile decoding
- Version 2.14.0:
* Avro schema generation: allow override namespace with new '@AvroNamespace' annotation
* Ensure 'IonReader' instances created within 'IonFactory' are always resource-managed
* Fix 'IonObjectMapper' does not throw JacksonException for some invalid Ion
* Fix missing configuration methods for format-specific parser/generator features
* Short NUL-only keys incorrectly detected as duplicates
* Update to Amazon Ion 1.9.5
* Use passed "current value" in 'writeStartObject()' overload
- Version 2.13.3:
* Fix IonValueDeserializer that does not handle getNullValue correctly for a missing property
- Version 2.13.1:
* Fix 'IllegalArgumentException' in 'IonParser.getEmbeddedObject()'
jackson-modules-base was updated from 2.13.3 to 2.15.2:
- Version 2.15.2:
* Mr Bean exposing 'Asm' as Maven dependency despite shading
* 'org.ow2.asm:asm' updated to 9.5
- Version 2.15.1:
* Gradle metadata for 'jackson-core' '2.15.0' adds dependency on shaded 'org.ow2.asm:asm'
- Version 2.15.0:
* Filter annotated by JsonInclude.Include.CUSTOM does not get called if property is null with Afterburner/Blackbird
module registered
- Version 2.14.3:
* Fix failing tests in java17 CI run
* Fix Gradle Module Metadata for Afterburner, Blackbird
* jaxb and jakarta-xmlbind put module-info in versions/11
- Version 2.14.0:
* Blackbird doesn't work on Java 15+
* Remove stack trace from Blackbirds warnings wrt missing 'MethodHandles.lookup()' (on Java 8)
* Update Asm version from 9.0 to 9.4
- Enhance SUSE Manager and Uyuni (ijsc#MSC-611)
jackson-parent was updated from 2.13 to 2.15:
- Remove settings for 'org.eclipse.m2e:lifecycle-mapping'
- Upgrade to oss-parent 50 (many plugin version updates)
</description>
</patchinfo>