|
| 1 | +# 0.91.0-RC1-SNAPSHOT |
| 2 | + |
| 3 | +Features: |
| 4 | +- Add a core-io and serialization-io modules that support using kotlinx.io |
| 5 | +- Add inline function shortcuts for encodeToString/decodeFromString with |
| 6 | + prefix/qname parameter that also take their serializer from the type |
| 7 | + parameter instead of as explicit parameter. |
| 8 | +- Support both the default polymorphic serializer and handling unknown |
| 9 | + elements broadly, in particular inside value items (as list). #256. |
| 10 | + For handling unknown values the implementation now attempts to detect |
| 11 | + the unknown element handler not consuming the element and will in such |
| 12 | + case parse the remaining elements (This uses input.location so the |
| 13 | + reader must support that). |
| 14 | +- (Finally) support running in node (falling back to the generic |
| 15 | + implementation rather than the dom implementation). Note that this |
| 16 | + does not inject a DOM implementation, so DOM handling will not work |
| 17 | + unless an alternative compatible implementation is already present. |
| 18 | +- The cache feature has been improved: it is now a proper LRU cache; |
| 19 | + it has better key matching (more matches) |
| 20 | +- Add further inline shortcuts for encodeToString that take |
| 21 | + tagname/prefix parameters. |
| 22 | +- Implement handling of whitespace preservation, including handling |
| 23 | + the attribute cascading to child tags. Types can now specify their |
| 24 | + own defaults. |
| 25 | + |
| 26 | +Changes: |
| 27 | +- Build with Kotlin 2.1.10 |
| 28 | +- Fix smart attribute writing to not use the null prefix for a |
| 29 | + non-null namespace (even when bound to the null-namespace). |
| 30 | + Attributes with null prefix are always in the null namespace. |
| 31 | +- Build with Kotlin 2.1.0. This means that except for `core-android` |
| 32 | + the other `-android` artefacts are now deprecated. They are separate |
| 33 | + synthetic configurations that only forward dependencies. |
| 34 | +- `encodeToWriter` will now flush the writer. This is particularly |
| 35 | + relevant in the context of `OutputStreamWriter` that doesn't write |
| 36 | + content until flushed or closed. |
| 37 | +- Serialization no longer loads jdk/android specific modules for |
| 38 | + parsing (when loaded they will be used in creating serializers/parsers) |
| 39 | +- getElementsByTagName(Ns) now supports wildcards (*) |
| 40 | + |
| 41 | +Fixes: |
| 42 | +- Make getElementsByTagName(Ns) return all descendents (not only children) |
| 43 | + per the DOM standard #265. |
| 44 | +- Don't detect end of cdata (incorrectly) inside a string #266. |
| 45 | +- Make recovery work more broadly, including handling text/cdata #253. |
| 46 | +- Make defaultSerializer work #256. |
| 47 | +- Fixed cache keys (this caused inefficiency and memory leaks #264). The |
| 48 | + memory leaks are also addressed using an LRU cache. |
| 49 | +- When parsing text with entity content don't mark initial/trailing |
| 50 | + whitespace as ignorable, even when the result is parsed as |
| 51 | + separate events. Fixes #241. |
| 52 | +- When creating a default cache doesn't work, fall back to not |
| 53 | + caching (#255). |
| 54 | +- Some work to handle the misconfiguration of multiple types with |
| 55 | + equal `SerialName` in the same context leading to invalid cache |
| 56 | + hits (#254) |
| 57 | +- Various fixes to handling of `xml:space` and `@XmlIgnoreWhitespace`. Note |
| 58 | + that xml:space="preserve" in a document overrides handling for all |
| 59 | + children. xml:space="default" gets back to default handling. Types |
| 60 | + by default inherit their whitespace handling from their owners. When |
| 61 | + the `@XmlIgnoreWhitespace` annotation is presented, this will change |
| 62 | + the default for that type/element and its members. |
| 63 | +- Fix automatic prefix generation for attributes (was an infinite |
| 64 | + loop: #251). Make it reuse existing prefixes if present rather than |
| 65 | + write a new prefix. If reuse is not desirable, explicitly declare |
| 66 | + the prefixes on the element using `@XmlNamespaceDeclSpec` |
| 67 | +- Fix (make consistent) the handling of `@XmlChildrenName` when the |
| 68 | + namespace attribute is left out/default (#252). It would use the |
| 69 | + empty/null namespace rather than the behaviour of `XmlSerialName` |
| 70 | + which defaults to the namespace of the parent tag. The behaviour |
| 71 | + is now consistent. For those cases where the original behaviour |
| 72 | + is needed, just specify the namespace explitly to be the empty |
| 73 | + string. |
| 74 | + |
1 | 75 | # 0.90.3 |
2 | 76 | Changes: |
3 | 77 | - In pedantic mode check that xml/xmlns are not used as names (they |
|
0 commit comments