Release Notes - XStream - Version 1.4 - HTML format

Bug

  • [XSTR-547] - PureJavaReflectionProvider.instantiateUsingSerialization uses ObjectInputStream, which uses Class.forName() to resolve classes; this makes the unmarshalling process fail in multi-classloader environments, such as OSGi
  • [XSTR-549] - XStream toXML generates duplicate @class field when using JettisonMappedXmlDriver
  • [XSTR-551] - XStream still throws deprecated XStream.InitializationException
  • [XSTR-553] - Xstream + Android: InitializationException: No com.thoughtworks.xstream.mapper.AnnotationMapper available when using annotation
  • [XSTR-555] - AbstractStaxWriterTest.marshalWithBothRepairingModes only marshals with one repairing mode
  • [XSTR-556] - serialized java.util.Dates have ambiguous timezones
  • [XSTR-560] - Clean up some compile warnings
  • [XSTR-561] - EnumMapper @deprecated tag on wrong method
  • [XSTR-565] - Unmarshal fails for the marshalled XML
  • [XSTR-571] - Cannot serialise syncronised RandomAccessList types in 1.3.1
  • [XSTR-574] - AbstractReferenceUnmarshaller cannot handle null values for references
  • [XSTR-577] - Invalid byte 1 of 1-byte UTF-8 sequence.
  • [XSTR-579] - omitField does not omit a field while unserializing
  • [XSTR-580] - Serialization of a write replaced object with field reference to itself does not work
  • [XSTR-583] - XStream Binary IO doesn't support Strings with length greater than 65K
  • [XSTR-584] - Infinite loop due to unsafe collection usage
  • [XSTR-588] - using JettisonMappedXmlDriver, a zero-length List corrupts the following field
  • [XSTR-598] - AbstractReflectionConverter.doUnmarshal looks for defined-in attribute also for attributes
  • [XSTR-602] - BeanProvider public method requires access to a package-private interface
  • [XSTR-604] - JVM stalls due to StringConverter when using a single long running instance of XStream
  • [XSTR-615] - Missing reference-object during deserialization on dynamic-proxy circular reference
  • [XSTR-618] - JRockit JVM Vendor change
  • [XSTR-623] - XStream generates XML that is not well-formed (according to the XML specification) by writing illegal characters in names
  • [XSTR-629] - ExternalizableConverter is unable to instantiate package-private classes
  • [XSTR-639] - Cannot omitField at deserialization that has a class attribute
  • [XSTR-640] - JettisonMappedXmlDriver does not correctly serialise java.util.TreeMap
  • [XSTR-646] - PermGen is consumed by Sun14ReflectionProvider more than necessary
  • [XSTR-650] - XStream throws an exception on Android
  • [XSTR-652] - Android: Could not instantiate converter : com.thoughtworks.xstream.converters.extended.DurationConverter
  • [XSTR-654] - Unmarshall fails if there's an alias same as the value of an implicitCollection
  • [XSTR-655] - Externalizable classes generate wrong JSON
  • [XSTR-656] - DomReader.getAttribute(String name) does not escape attribute name

Improvement

  • [XSTR-408] - @XStreamImplicit should support fields of type Map
  • [XSTR-500] - Provide wildcard for field names
  • [XSTR-542] - XStream XppDriver, Android, XmlPullParserFactory
  • [XSTR-543] - Runtime error when deserializing a field with "defined-in" attribute and alias
  • [XSTR-552] - Improve performance of PureJavaReflectionProvider.fieldDefinedInClass
  • [XSTR-559] - Cache field offset in Sun14ReflectionProvider
  • [XSTR-563] - Modify ObjectIdDictionary to use ReferenceQueue for cleaning-up WeakReferences
  • [XSTR-564] - AttributeMapper should use ReflectionProvider for looking up fields
  • [XSTR-570] - @XStreamConverter should allow target type information in Constructor
  • [XSTR-573] - Add SortedSet to XStream.setupDefaultImplementations()
  • [XSTR-576] - Remove <no-comparator/> tag from TreeMap and TreeSet output.
  • [XSTR-592] - omitField only ignores field on deserialization if field non-existent
  • [XSTR-593] - A new SingleValueConverter to handle java.net.URI
  • [XSTR-597] - Use FastField in AbstractReflectionConverter instead of SeenFields
  • [XSTR-599] - EncodedByteArrayConverter should also implement SingleValueConverter
  • [XSTR-605] - upgrade to Jettison 1.2
  • [XSTR-612] - Improve extensibility of converters.java package
  • [XSTR-625] - Make use of Jettison seriliazeAsArray optional
  • [XSTR-626] - enhance BeanProvider class
  • [XSTR-636] - FieldDictionary's use of WeakHashMap should be a strategy.

New Feature

  • [XSTR-226] - support for Hibernate collections
  • [XSTR-306] - Implicit Key Support
  • [XSTR-334] - fromXML(URL)
  • [XSTR-341] - Unmarshalling of implicit arrays
  • [XSTR-344] - Allow convert element with string body and attributes
  • [XSTR-377] - Sanitizing hibernate proxied objects ( GetOutOfMyPojo)
  • [XSTR-540] - JettisonMappedXMLDriver needs to take a Configuration object to use SimpleConverter in Jettison 1.1-SNAPSHOT to quote numeric strings
  • [XSTR-591] - SingleValueEnumConverter uses toString() instead of name() for the value

Task

  • [XSTR-633] - XML Escaping variable names with JettisonMappedXmlDriver

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.