News
May 24, 2007 XStream 1.2.2 released
A maintenance release of XStream that contains a lot of bug fixes and has some minor highlights:
- JSON serialization and deserialization support with the help of the new JettisonMappedXmlDriver
- Supports customized field sorting
- Omitting fields at deserialization time
View the complete change log and download.
Note, that next version of XStream will behave slightly different by default. XStream emits all fields in declaration order like Java serialization. But in contrast to Java it will omit the fields of parent classes last while Java serialization emits them first. This makes it difficult to match a given XML schema that defined inherited types or leads sometimes to obscure initialization problems. However, XStream itself will not be affected by the changed order of elements in the XML, any deserialization of current XML representations will work fine. Anyway we will provide with XStream 1.3 a FieldKeySorter implementation that mimics the old behaviour. In the meanwhile you can enforce the new field sorting by installing the NaturalFieldKeySorter.
Nov 11, 2006 XStream 1.2.1 released
- Introduced DocumentWriter interface and generalized functionality for all writer implementations creating a DOM structure (DOM4J, DOM, JDom, Xom, Xpp3Dom).
- Refactor of build system to use Maven 2. Ant still supported on XStream Core.
- Created separate XStream Benchmark module
View the complete change log and download.
Oct 10, 2006 Joe Walness announcing new XStream Project Lead
I have been the XStream project lead, since it was open sourced 3 years ago. In that time, it has attracted some excellent developers who have formed the foundations of the user community, made all kinds of significant improvements and pushed out new releases. It's now approaching its 1000th commit.
The development community that has formed around XStream has been outstanding - more than I could ever have imagined. In particular, the following people have invested a lot of time into XStream, both from a technical and social point of view:
- Jörg Schaible
- Mauro Talevi
- Guilherme Silveira
- Jason van Zyl
- Me (well I have!)
Recently I have been turning my attention to other things and XStream has been very much a self sustaining project. I've decided that the project would benefit from have a project lead who can invest a lot more time than I can currently offer.
So, the new XStream project lead will be Jörg Schaible, who along with Mauro Talevi and Guilherme Silveira will carry XStream forward. This has been happening for a long while anyway, it's just none of us ever realised or acknowledged it.
Of course, I'll still be lurking around, helping the transition, having loud mouth opinions and generally annoying people in any way I can... you haven't got rid of me that easily. ;)
I know Jörg, Mauro and Guilherme will be able carry XStream into the next generation (we have a lot of ambitious plans for XStream 2).
I'd also like to thank the 45(!) other contributers to the XStream project, who have all helped make it what it is today. Finally, thanks to Graham Glass, who's Electric XML library formed a lot of the inspiration for XStream.
Aug 18, 2006 XStream 1.2 released
- Using attributes for fields (contributed by Paul Hammant and Ian Cartwright).
- Aliasing of arbitrary attributes.
- XStream can now serialize another XStream instance.
- XStream has now the XStreamer, that serializes an object together with its XStream instance.
- AnnotationConverter for fields (contributed by Guilherme Silveira).
- PureJavaReflectionProvider supports now final fields starting with JDK 1.5
- Any Collection type can now be declared implicit, the default implementation will be respected for unmarshalling.
- XStream can now write all references as absolute XPath expression.
- New SingeValueConverter allows light weight converters if the value can be represented by a unique string.
- Aliasing of classes of a specific type.
- Support for certain types of proxies generated with the CGLIB Enhancer.
- Support for BEA JRockit starting with R25.1.0 (contributed by Henrik Ståhl of BEA).
- Experimental binary reader and writer.
- Experimental HierarichicalStreamCopier allows streams to be copied from one format to another without the overhead of serialization.
- Experimental JSON support allows streams to be copied from one format to another without the overhead of serialization (contributed by Paul Hammant).
View the complete change log and download.
Jan 13, 2006 XStream 1.1.3 released
- Added XStream.toXML(OutputStream) and XStream.fromXML(InputStream).
- Ability to prevent fields from being serialized by calling XStream.omitField() or by implementing Mapper.shouldSerializeMember().
- Added Converter for Enum, EnumMap and EnumSet
- Added BeanConverter and ISO8601SqlTimestampConverter
- Fixed support for IBM JVM (contributed by Gabor Liptak)
- Enhanced mode support for Blackdown JDK.
View the complete change log and download.
Apr 30, 2005 XStream 1.1.2 released
Most popular feature requests implemented.
- Java 5 Enum support.
- JavaBeanConverter for serialization using getters and setters.
- Aliasing of fields.
- StAX integration, with namespaces.
- Improved support on JDK 1.3 and IBM JDK.
View the complete change log and download.
Mar 7, 2005 XStream 1.1.1 released
- Converters can be registered with a priority, allowing more generic filters to handle classes that don't have more specific converters.
- Converters can now access underlying HierarchicalStreamReader/Writer implementations to make implementation specific calls.
- Improved support for classes using ObjectInputFields and ObjectInputValidation to follow the serialization specification.
- Default ClassLoader may be changed using XStream.setClassLoader().
- Many bugfixes and performance enhancements.
View the complete change log and download.
Jan 15, 2005 XStream 1.1 released
- Improved support for serializing objects as per the Java Serialization Specification:
- Calls custom serialization methods, readObject(), writeObject(), readResolve() and writeReplace() in class, if defined.
- Supports ObjectInputStream.getFields() and ObjectOutputStream.putFields() in custom serialization.
- Provides implementations of ObjectInputStream and ObjectOutputStream, allowing drop in replacements for standard serialization, including support for streams of objects. [More...]
- Reads and writes directly to most XML Java APIs: DOM, DOM4J, JDOM, XOM, Electric XML, StAX, Trax (write only), SAX (write only). [More...]
View the complete change log and download.