Here you can download the latest releases for the XML serialization framework. Each download link will redirect you to the download site. All downloads are compatible with the Java 5 and Java 6 platform. For performance it is recommended that the StAX dependencies are used with Java 5, without these DOM is used by default. These dependencies are available with the download and can be placed on the classpath to leverage StAX.

Download Simple 2.7.1:  Simple 2.7.1   -  30 February 2013
  • Fix made to ensure null values can be used with converter objects

Download Simple 2.7:  Simple 2.7   -  18 February 2013
  • Enhancement made so that objects can be serialized without any annotations
  • Enhancement made so that primitive classes can be deserialized properly
  • Enhancement made so that atomic integers and longs can be serialized

Download Simple 2.6.9:  Simple 2.6.9   -  1 December 2012
  • Yet more performance improvements made when processing union annotations
  • Enhancement made so that free text can be processed with element unions

Download Simple 2.6.8:  Simple 2.6.8   -  24 November 2012
  • Performance improvement made to reduce the amount of reflection done

Download Simple 2.6.7:  Simple 2.6.7   -  12 September 2012
  • Fix made to ensure that path annotations do not cause conflicts

Download Simple 2.6.6:  Simple 2.6.6   -  30 July 2012
  • Signifigant performance enhancements for annotation processing on Android
  • Reduction of stack size required for processing documents on Android

Download Simple 2.6.5:  Simple 2.6.5   -  22 July 2012
  • Fix made so that optional constructor parameters do not require attributes

Download Simple 2.6.4:  Simple 2.6.4   -  22 May 2012
  • Enhancement made to constructor injection to better handle union annotations
  • Increased the performance of constructor injection parameter matching

Download Simple 2.6.3:  Simple 2.6.3   -  13 May 2012
  • Performance enhancement made to ensure less memory is used in serialization
  • Change made to ensure constructor injection works better with unions
  • Change made to ensure that the default constructor does not obstruct injection
  • Bug fix made to ensure parameters can be resolved better using paths
  • Bug fix made to ensure abstract enums can be serialized properly
  • Enhancement added to ensure any XPath paths can be styled more consistently

Download Simple 2.6.2:  Simple 2.6.2   -  16 October 2011
  • Performance enhancement made to the union annotations using cache labels
  • Performance enhancement made to the path parser by adding an LRU cache
  • Enhancement made to the validation process to better detect order errors

Download Simple 2.6.1:  Simple 2.6.1   -  28 August 2011
  • Enhancement made so that duplicate elements can be used with paths
  • Addition of a new matcher that can be used to register custom transforms
  • Bug fix made so that element list unions behave properly if empty
  • Enhancement made so that multiple text annotations can be used
  • Qualification of duplicate constructor parameters can be done using paths

Download Simple 2.6:  Simple 2.6   -  9 July 2011
  • Refactor of the union annotation names to have an element prefix
  • Enhancment made to ensure that required labels match for unions

Download Simple 2.5.3:  Simple 2.5.3   -  6 May 2011
  • Fix made so that KXML does not cause a stack overflow with broken XML

Download Simple 2.5.2:  Simple 2.5.2   -  16 April 2011
  • Performance enhancement for Google Android by using the XML pull parser
  • Bug fix made for Google Android to work with union annotations

Download Simple 2.5.1:  Simple 2.5.1   -  10 April 2011
  • Enhancement made to the path annotation so namespace prefixes can be used

Download Simple 2.5:  Simple 2.5   -  8 April 2011
  • Addition of several new union annotations for dynamic serialization
  • Change to constructor injection so parameter annotations only need names
  • Change made to the element annotation so it can specify a type override
  • Improvements made to all exception messages to provide a better context

Download Simple 2.4.1:  Simple 2.4.1   -  22 December 2010
  • Enhancement so that deserialization happens in declaration order
  • Change to ensure that maps can be serialized with attribute values
  • Fix so that converted objects are decorated properly with namespaces

Download Simple 2.4:  Simple 2.4   -  2 December 2010
  • Improvements made to constructor injection for parameter matching
  • Addition of a new annotation to allow XPath expressions to be used
  • Addition of various new tests to improve the code coverage

Download Simple 2.3.6:  Simple 2.3.6   -  1 July 2010
  • Change made to ensure enumerations can be transformed properly

Download Simple 2.3.5:  Simple 2.3.5   -  1 June 2010
  • Change made to ensure static final fields are not considered as defaults
  • Change made so that sessions are maintained when using converters
  • Fix made to ensure the text annotation can be used in constructors

Download Simple 2.3.4:  Simple 2.3.4   -  5 May 2010
  • Improve constructor injection by allowing optional elements
  • Enhancement made to the default annotation for optional elements
  • Add schema class to exception messages for better context

Download Simple 2.3.3:  Simple 2.3.3   -  5 March 2010
  • Fix the handling of the is methods for default property matching

Download Simple 2.3.2:  Simple 2.3.2   -  1 March 2010
  • Addition of DOM provider so that StAX is not a required dependency
  • Fix made to ensure property defaults are applied correctly to classes

Download Simple 2.3.1:  Simple 2.3.1   -  24 February 2010
  • Enhancement so that synthetic annotations are available to strategies
  • Enhancement so that erased generics are handled as objects not nulls

Download Simple 2.3:  Simple 2.3   -  20 February 2010
  • Reduced the required methods of the strategy interface to make it simpler
  • Addition of a new annotation that allows default serialization for objects
  • Addition of a strategy that enables interception of the serialization process

Download Simple 2.2.4:  Simple 2.2.4   -  12 February 2010
  • Addition made to the serializer to ensure strict serialization is optional

Download Simple 2.2.3:  Simple 2.2.3   -  3 February 2010
  • Fix made to namespace prefix resolution to ensure they can be resolved
  • Fix made to ensure map values can be serialized in CDATA text sections

Download Simple 2.2.2:  Simple 2.2.2   -  1 February 2010
  • Fix made to deserialization of optional elements with constructor injection
  • Refactor of the registry strategy so it uses an internal registry binder

Download Simple 2.2.1:  Simple 2.2.1   -  30 January 2010
  • Addition of a package to allow custom converters to be written
  • Addition of two new strategies to handle converters for serialization

Download Simple 2.2:  Simple 2.2   -  23 January 2010
  • Change from the Lesser General Public License to the Apache License
  • Refactored so that annotations are available to strategy objects
  • Fix made so that constructor injection can be used on inner classes

Download Simple 2.1.8:  Simple 2.1.8   -  16 December 2009
  • Change made to provide better exception messages for inner classes

Download Simple 2.1.7:  Simple 2.1.7   -  21 November 2009
  • Change made to ensure constructor injection is validated better
  • Enhancement made to ensure constructor injection is more transparent
  • Change made to ensure the XML prolog decides the character encoding

Download Simple 2.1.6:  Simple 2.1.6   -  13 November 2009
  • Change made to ensure framework works with Google App Engine

Download Simple 2.1.5:  Simple 2.1.5   -  25 September 2009
  • Change made to ensure you can extract the parent node for each node
  • Improved the node map so that it reflects the node type it represents

Download Simple 2.1.4:  Simple 2.1.4   -  18 September 2009
  • Change made to ensure maps can be used without generic parameters

Download Simple 2.1.3:  Simple 2.1.3   -  20 August 2009
  • Changes made to ensure cycles can be handled with null references
  • Improvement to write exceptions to ensure the class is described

Download Simple 2.1.2:  Simple 2.1.2   -  26 July 2009
  • Change made to the namespace logic so that XML inheritance is used
  • Performance improvements made to both serialization and deserialization

Download Simple 2.1.1:  Simple 2.1.1   -  21 July 2009
  • Fix the reference collector so that there are not stack overflow errors

Download Simple 2.1:  Simple 2.1   -  11 July 2009
  • Move org.simpleframework.xml.graph to org.simpleframework.xml.strategy
  • Change the strategy to provide a definition rather than a factory
  • Implement constructor injection to allow to serialization of immutables
  • Refactor the deserialization process to perform instantiation internally

Download Simple 2.0.4:  Simple 2.0.4   -  8 March 2009
  • Fix made so that references to null can be supported for object graphs
  • Ensure that the traverser can accept null objects from the graph

Download Simple 2.0.3:  Simple 2.0.3   -  20 February 2009
  • Fix made so that references to existing collections are maintained
  • Fix made so that primitives represented as objects maintain references

Download Simple 2.0.2:  Simple 2.0.2   -  11 December 2008
  • Removed all static reflection caching from within the persister object
  • Moved the scanner cache into the context to improve access to scanners
  • Ensured no singletons used in the persister to enable use of strategies

Download Simple 2.0.1:  Simple 2.0.1   -  9 December 2008
  • Performance improvement made to the extraction of styled element names
  • Performance improvement made to the callback functions with a reflection cache

Download Simple 2.0:  Simple 2.0   -  7 December 2008
  • Added namespace support with namespace anotations for the XML class schema
  • Added support for versioning serialization with a version attribute annotation
  • Moved the org.simpleframework.xml.load package to org.simpleframework.xml.core
  • Enable transformation customization by allowing a matcher to be specified

Download Simple 1.8:  Simple 1.8   -  29 November 2008
  • Styles added to the stream framework to enable styling of serialized XML
  • Fix made to ensure primitives can be mixed with objects in collections
  • Allow primitives to be overridden in XML to allow dymamic instantiation

Download Simple 1.7.3:  Simple 1.7.3   -  18 October 2008
  • Fix made so that redundant elements in the order annotation are validated
  • Change made to the resolver so that it can resolve all matches not just one
  • Change made to the dictionary to that the entry items do not need attributes
  • Addition of an empty attribute to collection annotations for default values

Download Simple 1.7.2:  Simple 1.7.2   -  4 March 2008
  • Enhancement to scanning to ensure order of XML elements follow class heirarchy
  • Change made to the element map annotation to support null values and keys
  • Performance enhancement made to the scanning of map keys and values

Download Simple 1.7.1:  Simple 1.7.1   -  19 January 2008
  • Bug fix made to the stack filter to ensure it uses all filters included
  • Enhancement made to the transformer to make sure it handles errors correctly
  • Change made to the platform filter to ensure it can be created without mappings

Download Simple 1.7:  Simple 1.7   -  13 January 2008
  • Change made to the scanning so that abstract class and interfaces can be used
  • Enhancement made to the transformer so that transformable type can be validated
  • Change made to the method scanning framework for better name matching
  • Performance improvements made to serialization to match composite objects

Download Simple 1.6.2:  Simple 1.6.2   -  15 December 2007
  • Addition of validation methods to the serializer to validate XML documents
  • Addition of validation for all converters so each annotation can be validated
  • Change made to the validation test case to validate each object deserialized

Download Simple 1.6.1:  Simple 1.6.1   -  13 December 2007
  • Bug fix made to the weak cache so that a negitive hashes can be handled
  • Bug fix made so that stattered elements are set when all values are collected
  • Change made so that all values are read before any are set on the object

Download Simple 1.6:  Simple 1.6   -  6 December 2007
  • Change made to ensure entry attribute does not cause excessive elements
  • Enhancement made to the transformation package to support more date types
  • Added an order annotation which enables attribute and element ordering

Download Simple 1.5.1:  Simple 1.5.1   -  15 November 2007
  • Added the ability to scatter inline elements within a parent element
  • Improved the performance of the character array transformation functionality
  • Added additional unit tests to test scattering of inline list fields

Download Simple 1.5:  Simple 1.5   -  3 November 2007
  • Added ElementMap annotation to support serialization of Map objects
  • Change made to the default naming of transformed objects and collections
  • Additional unit tests added for transformations an map serialization

Download Simple 1.4.2:  Simple 1.4.2   -  9 August 2007
  • Improved class loading so that the thread context class loader is the default
  • Additional weak concurrent cache added to map values to weakly referenced keys
  • Caches keyed by class objects are now weak caches so reloading is not affected
  • Enhancement added to the cyclic strategy so that it can be used concurrently

Download Simple 1.4.1:  Simple 1.4.1   -  19 July 2007
  • Change made to the transformation package to improve transform resolution
  • Reduce the number of dependant packages by changing the transform matcher
  • Addition of a transform exception which acts as a base of all transform errors

Download Simple 1.4:  Simple 1.4   -  27 June 2007
  • Changed from simple.xml to org.simpleframework.xml for all packages
  • Enhancement made to ensure that the cycle strategy can handle primitves
  • Introduced a transformation framework so that more types could be used
  • Addition of transformations now allow multidimensional array support
  • Uploaded the project on to the public repositories for use with Maven

Download Simple 1.3.1:  Simple 1.3.1   -  8 June 2007
  • Enhancement made to the persister to support object XML injection
  • Addition of empty attributes to support default XML values for null
  • Bug fix made to the persister so that it closes all opened files
  • The addition of a readResolve() equivelant for XML deserialization
  • The addition of a writeReplace() equivelant for XML serialization

Download Simple 1.3:  Simple 1.3   -  2 June 2007
  • Changes made to the element list annotation to support inline lists
  • Enhancements to all XML annotations to support CDATA output format
  • Enhancements to the stream package to support various output modes
  • Change made to input and output nodes to expose their parent nodes
  • Field and method name can now be used as default names for annotations
  • The element list type can be be acquired from generic parameters
  • Primitives can now be serialized and deserialized from collections
  • The root annotation name can now be taken from the class as a default
  • Output nodes can now be removed from the XML document if not committed
  • The format has been altered so that the full XML prolog can be specified
  • Attributes provided by the node map can now expose their parent nodes

Download Simple 1.2.1:  Simple 1.2.1   -  28 April 2007
  • Added a strategy to handle cycles in the serialized object graph
  • Change made to the serialization of arrays so it includes a length
  • Update to the strategy so that it can override all object writing

Download Simple 1.2:  Simple 1.2   -  10 April 2007
  • Added a new annotation which has support for free text with attributes
  • Enhanced the element array annotation so that it can not support primitives
  • Enahnced the core serialization process so that bean methods can be used
  • Support for loose mappings has been introduced with a new root attribute
  • Further unit test has been added to ensure that scanning resolves correctly
  • Change made so that the element and attribute mappings are case sensitive

Download Simple 1.1.3:  Simple 1.1.3   -  29 March 2007
  • Change made to the map filter to enable templates to make use of any type
  • Changes made to the exception messages to provide more line number information
  • Added an element array annotation to allow serialization for object arrays
  • Added unit testing for the serialization and derserialization of arrays

Download Simple 1.1.2:  Simple 1.1.2   -  2 March 2007
  • Added capability to provide custom constructor of serialized types
  • Enhanced XML streaming package so that root nodes can be detected
  • Updated unit tests to cover changes to XML streaming and filteration

Download Simple 1.1.1:  Simple 1.1.1   -  9 February 2007
  • Added position information to exceptions thrown from schema matching
  • Improved the resolver cache so that it removes old cache entries better
  • Added further unit testing to the resolver object to test resolutions

Download Simple 1.1:  Simple 1.1   -  21 January 2007
  • Added a reflection caching mechanism to minimise reflection overheads
  • Implemented a parsing abstraction layer to make the framework parser egnostic
  • Greatly improved the memory profile and performance of object to XML serialization
  • Enhanced the configuration for XML serialization to enable customized indentation
  • Doubled the performance of the deserialization process by replacing DOM with StAX
  • Greatly improvemed the memory profile for deserialization of huge XML documents


All releases previous to version 1.1 have been implemented using DOM. Development on the DOM version of the framework has ceased for several reasons. Firstly StAX offers a lighter, faster, and easier to use alternative to DOM. Also, the current implementation uses a parser neutral framework, which can be used to plug in DOM drivers. This means that any further implementation with DOM will be done as a plug in to the current XML parsing abstraction layer.

Download Simple 1.0.2:  Simple 1.0.2   -  17 December 2006
  • Change made to the persister to use generic methods so casting is not needed
  • Modification made to the deserializer so that XML matches are case insensitive
  • Additional unit tests added to test case insensitive deserialization methods

Download Simple 1.0:  Simple 1.0   -  21 November 2006
  • Added a utility package for various types of XML list element collections
  • Addition of several new unit tests to test the new utility collections

Download Simple 0.9.6:  Simple 0.9.6   -  9 November 2006
  • Bug fixed to allow empty elements to be handled properly for primitives
  • Added further unit testing to ensure elements are handled correctly

Download Simple 0.9.5:  Simple 0.9.5   -  5 November 2006
  • Changes made to ensure that subclassed objects can be added to the same list
  • Bug fix made to ensure that the traverser adds class attributes for list entries
  • Addition of unit testing to check for class attributes in serialized lists

Download Simple 0.9.4:  Simple 0.9.4   -  5 November 2006
  • Add unit testing and unit test sources to the downloadable target
  • Updates made to the documentation for annotated callback methods

Download Simple 0.9.3:  Simple 0.9.3   -  4 November 2006
  • Addition of strategies that enables tailoring of the object persistence
  • Persistence callback annotated method can now receive a session map
  • Improvements to the template engine so that it can use session variables

Download Simple 0.9.2:  Simple 0.9.2   -  29 October 2006
  • Bug fix made to ensure primitive classes do not get an override attribute
  • Change made to the formatter so that XML output is indented by default
  • Change made to the template engine so ensure text processing is encapsulated
  • Added further unit tests for collections and primitive type converters

Download Simple 0.9.1:  Simple 0.9.1   -  29 October 2006
  • Added annotations used so that objects can receive container callbacks
  • Introduced a Validate annotation so objects can validate their fields
  • Introduced a Commit annotation so objects can build further data structures
  • Introduced a Persist annotation so objects know when serialization begins
  • Introduced a Complete annotation so objects know when serialization ends
  • Added further unit tests for persister callback annotated methods

Download Simple 0.9:  Simple 0.9   -  28 October 2006
  • Add interface so objects can receive callbacks when deserialized
  • Change persistance mechanism to enable object validation on processing
  • Add unit testing to test object validation and post processing

Download Simple 0.8.1:  Simple 0.8.1   -  24 October 2006
  • Improve Ant build system for the XML framework download package
  • Change existing soak and performance tests with time constraints
  • Add additional unit tests to check for optional annotated fields

Download Simple 0.8:  Simple 0.8   -  21 October 2006
  • Add annotations to support attributes, elements and element lists
  • Include unit tests to protect implementation and framework constraints
  • Support use of XML templating for including filtered template variables
  • Ensure that overrides for class field types can be implemented