0.90.0 – 2.0 will go
Changes:
- The core module no longer automatically includes Android/Jvm "native"
parsers by default, but uses the platform independent implementation.
The Android/Jvm native parsers are available by including "core-jvm"
and "core-android" packages. Note that serialization-jvm and
serialization-android do so already. - There is a coreCompat package that provides the original setup as
direct replacement for core. This is a temporary package that will
be removed at 1.0 release. - Build with Kotlin 2.0.0
- The core module has been changed to use default implementations for
Java interfaces. This could cause binary compatibility issues in
rare cases (when called from Java). - The core module has been modified to move the code in to base,
except for Android and JDK specific code. The Android and JDK code
have been put in separate modules and are no longer mandatory (the
code falls back to the generic parsers/serializers). Core is now a
dependency only module that pulls in the specific modules (for
compatibility). - Make automatic encoding detection the default/recommended, and add
some changes to make this work better. Thanks to @sschuberth in
(#206). - Separate the tag and attribute namespace (allowing the same name
as attribute and element). - Explicitly check for duplicate names in decoding.
- Support the use of contextual serializers (#208). This means that
contextual serializers are eluded.
Features:
- Extend applicability of
@XmlValue
on a list/map to capture any serializer.
Note that the specific serializer will need to be able to handle the xml
content (will need to be ) - Generalize support for "special" serializers that treat XML
specially. This is implemented throughXmlSerializationStrategy
,
XmlDeserializationStrategy
andXmlSerializer
. Implementing these
interfaces allows the format to treat the data specially.
Fixes:
- Fix multithreading initialization on JVM targets, serviceLoaders are
not thread-safe (#211). - In handling id attributes apply the xml collapse whitespace rules
(per the facets of the xsd:id type) - Fix handling of empty
@XmlValue
members of string-like type. Also
collapse whitespace when parsing non-string primitives (per xml
schema). Strings never ignore whitespace. - Fix handling
XmlValue
members of collection type inside an empty tag. - Fix parsing of
XmlDefault
attributes if the (effective) type is an
attribute and it is parsed using as serializable value (rather than)
directly as primitive. - Using an attribute map wouldn't work when the key was a string rather than
a qname. Fixes #190. - Properly require
@XmlOtherAttributes
for maps of "remaining"
attributes.