Skip to content

Releases: pdvrieze/xmlutil

0.81.2 – Goodbye JCenter

17 Apr 20:48
Compare
Choose a tag to compare

As part of a goodbye to jcenter configure publication on github packages. Note that this comes with a new maven coordinate, and a reverting to the default publishing as provided by kotlin multiplatform.

0.81.1 – To null or not to null

25 Feb 09:40
Compare
Choose a tag to compare

Small update:

  • handle custom serializers for null values correctly (when using the composite encoder) - fixes #53.
  • Update to 1.1.0 release of kotlinx.serialization

0.81.0 – Let's all keep in line

16 Feb 21:52
Compare
Choose a tag to compare

New version that is compatible with 1.1.0-RC

  • Compiled against 1.1.0-RC
  • Supports inline classes (when using the experimental IR compiler - a restriction of the compiler, not this library)
    • Inline classes can use @XmlSerialName to override the name use used by the type

0.80.1 – Some bug fixes

17 Oct 21:33
Compare
Choose a tag to compare

Fix some edge case issues:

  • Handling of entity references #44
  • The naming of the value tag for polymorphic values in non-auto-polymorphic mode
  • Fix handling of the empty namespace in certain cases

0.80.0 – Let's go

10 Oct 21:08
Compare
Choose a tag to compare

Update the release candidate to work with the released kotlinx.serialization-1.0.0.
In addition to pure compatibility fixes it also adds configurability of encoding of default values (by default the original behaviour using @XmlDefault)

0.80.0-RC – Getting ready for stabilization

31 Aug 14:26
Compare
Choose a tag to compare

This version provides support for Kotlin 1.4 and kotlinx.serialization-1.0.0-RC. This code should be fairly stable, but has not had API rationalization completed (working towards API stabilization). This doesn't mean that the API is going to change, just that some code should be private but isn't. Documentation should still be improved.

In addition, there is a new configuration approach to the serialization with policies (which was also in the v0.20.0.10 release). This needs feedback, but would even allow for custom annotations as well as support things like jackson compatibility.

0.20.0.10 – Replace the engine under the hood.

19 Aug 22:51
Compare
Choose a tag to compare

This version has extensive redesign under the hood. It now creates a complete descriptor tree with names, output kinds and all that is then used by the serialization/deserialization code. This has likely fixed some bugs, but at least clears up the code to be much more comprehensible (and less complex). In particular it makes encoder/decoder matching that much easier as they share information. The configuration has been changed by adding a policy interface that drives more important serialization decisions. This should allow for serialization to be much more customized.

Highlighted features:

  • Configuration now has a policy attribute/type that can be used to determine tag names used, form of serialization etc.
  • The XmlDescriptor class is created to allow introspecting the entire xml structure with names etc. This is used internally, but can also be
    used to generate things like xml schema documents (future feature).
  • Add MixedContent to the serialutil module. This allows for typesafe serialization of mixed content (with text) - #30. Various fixes were
    included to make it actually work. Those fixes should fix other custom serializers too.
  • By default support serialization/deserialization of org.w3c.dom.Node and org.w3c.dom.Element typed properties
  • Various bug fixes such as: missing/invalid namespace attributes #36, recursive type definitions #32,

Indent it all

17 May 14:39
Compare
Choose a tag to compare

This release is mostly a maintenance release. It properly allows for configurable indentation as well as other features:

  • #27 omitXmlDecl=false didn't work on Android. This has been replaced by a more comprehensive configuration
    option that also allows configuration of the xml declaration.
  • #28, #24 String indentation is fixed/enhanced. This version directly exposes the indentation string to the serialization (accidentally omitted in 0.20.0.0). Indentation can still be specified by a number, but can now be specified as a string. Internally it will parse the string and store it as a sequence of ignorable whitespace and comment events. As such, invalid indentation will now throw an exception.
  • #25 When using the default java xml library (instead of woodstox) it should now correctly work when no namespaces are used.
  • #13 Make direct closing tags available on JVM without a custom xml library to do it. Instead this is now done at wrapper level. It was already functional for Android. JS depends on the dom provided serialization.

0.20.0.0 – Keeping going

05 Mar 11:34
Compare
Choose a tag to compare

This is a release compatible with version 0.20.0 of the serialization library and Kotlin 1.3.70. In addition there are two
other significant changes:

  • Fixed the way XmlPolyChildren works in relation to renamed classes (it will now use the declared XmlSerialName if not renamed in the annotation
  • Made it possible (on XmlWriter to set indentation as string). For now you need to create your XmlWriter directly for this to be available. The configuration for the serializer format will follow.

0.14.0.3 – Have the features

05 Mar 11:15
Compare
Choose a tag to compare

A backport of the fixes from 0.20.0.0 to a 0.14.0 (kotlin 1.3.61) compatible version of the library.