0.86.1 – It's the little things
0.86.1
(July 5, 2023)
Features:
- Support detecting duplicate elements outside of list context #145. This
is not default behaviour as it is somewhat up to the serializer to deal
with duplicate values, rather than the format. - Support wildcard (
*
) forXmlBefore
andXmlAfter
. These create a
partition in ordering. An element/attribute with wildcard before will
be ordered before/after elements that do not have this. Explicit order
relationships will be maintained. - Support checking ordering in reading.
- Update to Kotlinx.serialization 1.5.1
- Add SerializableQName as an alias that links it to the serializer.
- Add a helper function
XmlSerializationPolicy.recoverNullNamespaceUse
that
can be used to support recovering in case of null namespaces (and them
effectively functioning as wildcard) - Handle processing instructions correctly, expose processing instructions as
target (XmlReader.piTarget
) + data (XmlReader.piData
) pairs
attributes andXmlEvent.ProcessingInstructionEvent
as event. (#160) - Allow processing instructions/whitespace as children of Native Document.
Fixes:
- Fix recording/copying of attribute prefixes in copying algorithms (#167).
- Fix reading/writing of processing instruction events (#160).
- Fix recovery of element children (#160).
- Fix decoding of nil elements in certain cases (lists) where the end of the tag
wasn't parsed. Implemented decodeNull accordingly to actually finish the nil tag. - Fix accidental immediate emission of xsi:nil elements (rather than deferring
as expected #152). - Add expected key name to the error message when it couldn't be found for a
map. #140 - Fix attribute name for empty prefix in Attr (native DOM). This should fix #142.