Skip to content

0.90.0 – 2.0 will go

Compare
Choose a tag to compare
@pdvrieze pdvrieze released this 13 Jun 17:00
· 803 commits to master since this release

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 through XmlSerializationStrategy,
    XmlDeserializationStrategy and XmlSerializer. 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.