# not updated anymore since V5.0.1 - use http://xmlbeans.apache.org/status.html instead

Changes in V5.0.0 since V4.0.0

* XMLBEANS-554:	xmlbeans doesn't support the "javasource" attribute
* XMLBEANS-551:	use log4j-2 for logging
* XMLBEANS-557: Duplicate classes in jar
* XMLBEANS-486: Provide Maven plugin
* XMLBEANS-555: Partial method generation and remove inner factory classes

Changes in V4.0.0 since V3.1.0

* XMLBEANS-548: XmlDocumentProperties.setStandalone is ignored when saving
* XMLBEANS-542: SAX Parsing should not fail if parser does not allow the setting of declaration-handler
* XMLBEANS-541, XMLBEANS-544, XMLBEANS-545: Fixes to ant build scripts
* XMLBEANS-540: Prevent trim of elements when pretty print is used
* XMLBEANS-539: Support Saxon-HE 10 as an XPath engine

Changes in V3.1.0 since V3.0.2

* update build and deployment artifacts to standardize naming and remove unused items
* XMLBEANS-502: Allow to clear all ThreadLocals from the current thread
* XMLBEANS-503: Allow to specify -nowarn in the Ant task
* XMLBEANS-537: Add missing StscState.end() to avoid memory leaks
* XMLBEANS-532: Streamline build.xml and update tests to Junit4
* XMLBEANS-531: Fix schema gen of attributes
* XMLBEANS-530: Allow namespaces of XmlOptions to be passed to the XQuery engine
* XMLBEANS-529: Format xmlobjects to the correct string representation on XPath access
* XMLBEANS-528: Allow document locator to be set after initialization
* XMLBEANS-527: Rename shell script directory, to align on typical directory layout
* XMLBEANS-526: Fix issue with loading META-INF/services files
* XMLBEANS-538: fix issue with parsing DOM with DTD

Changes in V3.0.2 since V3.0.1

* XMLBEANS-520: wrong name for source(s) artifact
* XMLBEANS-519: issue when using old XML parser versions
* XMLBEANS-506: NPE trying to load resource file if XmlBeans was loaded by the bootstrap ClassLoader

Changes in V3.0.1 since V3.0.0

* XMLBEANS-518: add support to XmlOptions to allow control over the XML parser settings that affect DTD loading
and entity expansion

Changes in V3.0.0 since V2.6.0

* XMLBEANS-517: use safe XML parsers
* XMLBEANS-516: remove unnecessary javax and org.w3c classes
* XMLBEANS-515: remove piccolo support
* XMLBEANS-514: make java 6 the lowest supported runtime
* XMLBEANS-489: fix for Cursor getAllNamespaces not returning default namespace
* Fix for XMLBEANS-499: xmlbeans2.6.0.jar contains duplicate class files (causes issues
on Android)
* XMLBEANS-447: Drop the ConcurrentReaderHashMap source code
* Fix for XMLBEANS-404: entitizeContent CDATA loop iterating too many times (causes
assertion error or ArrayIndexOutOfBoundsException in replace)
* Fix for XMLBEANS-332: XMLBeans changes surrogate pair bytes to question marks

Changes in V2.6.0 since V2.5.0

* Add new xml option CopyUseNewSynchronizationDomain used for copy.
This fixes the scenario when copy and access (ex. selectPath) are used
in a multithreading environment.
* Entitize \r when not in pretty print, this helps with maintaining \r
entities.
* Fix validation of integer value containing dot char.
* Fix chars  in comments to avoid errors in IntelliJ under linux.
* Update durations to latest spec.
* Fix for compiling schema that contains complex type with simple
content that has facets defined in the base simple type
* Fix for Piccolo lexer when read method returns 0.
* Fix to preserve the CDATA bookmarks when copy from one xmlobject to
another.
* Fix bug when resizing circular buffer in saver's output stream
implementation.
* Fix for bug when not specifing type for a particle in derived schema
type and when minOccurs is 0.
* Fixed error messages when contain base and derived type names.
* Introducing a default maximum entity replacement limit of 10kb, it can
be controled by using the option XmlOptions.setLoadEntityBytesLimit.
* Fixed javadoc for inst2xsd and xsd2inst tools.
* Fix NPE in SchemaTypeImpl.getEnumJavaClass().
* Added multiple entry points and refactored code for xsd2inst code.
* Remove org.w3c.dom files from xbean.jar.
* Add another xpath and xquery interface implementation.
* Add src/xmlinputstream classes org.apache.xmlbeans.xml.stream.* to
xmlpublic.jar.
* Make bootstrap run twice to avoid GUMP error emails.
* Fix for bug XMLBEANS-396: GML 3.1.1 generated code fails to compile.
* Fix for bug XMLBEANS-412: Pattern facet regex requires dash - to be
escaped.
* Fix for bug XMLBEANS-414: error cvc-complex-type.2.1: Element 'XXXX'
with empty content type cannot have text or element content.

Changes in V2.5.0 since V2.4.0

* Exit codes for InstanceValidator
* Decimal precision handling fix in xsd2inst
* Option to perform additional, stricter Schema validation checks: XMLBEANS-350
* updated pattern for dayTimeDuration
* Extended year min/max value limitations
* Support for date and time types with hour 24.
* NOTATION built-in type
* DocType fix when root element is changed
* "User types" feature - allows mapping of Schema simple types to custom user Java classes
    http://wiki.apache.org/xmlbeans/UserTypes
* Nested enumeration type compilation error fix: XMLBEANS-381
* Deadlock fix in generated impl setter simple and array
* Required attribute fix in streaming validator
* Many other fixes and optimizations


Changes in V2.4.0 since V2.3.0

* Pluggable XPath/XQuery engine support
* Upgraded support for Saxon 9
* Added Schema compilation option to skip errors in case duplicate component declarations are encountered.
* Finer grained support for CDATA
* Tool to generate XPath for a given cursor position in a document
* added more fine-grained control over XML to Java name mapping
* Add support for JVM-supported encodings
* Adding XmlError codes
* Replace static HashMaps with WeakHashMaps
* Fix for XMLBEANS-309 Warnings on Generated code
* Fix for XMLBEANS-361 invalid NaN comparisons
* Fix qname marshaling when empty namespace
* Various other bug fixes


Changes in V2.3.0 since V2.2.0

* Improved Saxon support, Saxon 8.8 became the recommended version
* Added options to control use of CDATA sections when saving to XML
* Added support for QNames in Schema annotations
* Added support for new encodings: UTF-16LE, UTF-16BE, CP936/GBK.
* Fix: overzealous whitespace cropping after parsing entities like &amp; (XMLBEANS-274)
* Fix: selectPath() with setXqueryCurrentNodeVar() option does not work for Saxon (XMLBEANS-276)
* Fix: synchronization problem with array setters
* Fix: Saver$TextSaver.replace method throws java.lang.ArrayIndexOutOfBoundsException (XMLBEANS-209)
* Fix: QNameSet generated by QNameSet.forArray(QName[]) can't be unioned with other QNameSets (XMLBEANS-290)
* Fix: java.lang.ArrayIndexOutOfBoundsException when saving XML (XMLBEANS-291)
* Fix: XQuery gives wrong result with Saxon 8.6.1 (XMLBEANS-275)
* Fix: bug during generation of complex types with simple content
* Fix: improved error handling during loading of Schema type system
* Fix: bugs in Duration serialization
* Fix: XMLCursor.getTextValue()
* Fix: Remove year zero from GDate, GDateBuilder and XmlCalendar per XMLSchema spec D.3.2


Changes in v2.2.0 since v2.1.0:

* Allow polymorphism in Extension Interfaces Feature
* Fix for circular buffer in TextSaver
* Tuned synchronization for multithreaded validation
* Updated to the latest XMLSchema.xsd - January 25, 2006
* Better QName validation
* Fix insertion positions when using substitution groups with arrays
* Updated XmlBeans to work with SaxonB-8.6.1 in place of SaxonB8.1
* Fix for regex validation in multi-threaded, multi-processor environment
* Fix for schema compilation error when restricting complex type with simple content
* Implemented XMLInputStream interface for saving a store
* XQuery external variable binding support
* Various other bug fixes


Changes in v2.1.0 since v2.0.0:

* Fixed the issue whereby some IDEs would have problems with the TypeSystemHolder class being generated in the classes directory
* Better integration with Maven
* Implemented support for ID/IDREF in DTDs via DOM's .getElementByID()
* Integrated a patch that makes XmlBeans work in a sandboxed environment
* Added the ability to control entitization of characters when saving documents
* Fixed issue with memory reclamation in multi-threaded environments, which was delayed too much so it could be mistaken for a memory leak
* Added numerous new test cases and performance tests
* Continued improving performance, especially in the DOM support and XmlCursor areas
* Added column numbers support in our snapshot of Piccolo; validation and XMLSchema error reporting benefit from this and is of course usable from user code
* Line/column number is now also available for end-tags
* Solved a legal inconsistency surrounding our use of JSR173 APIs
* Fixed a lot of reported issues in various areas of the product


Changes in v2.0.0 since v2.0.0-beta1:

* many performance related changes, especialy in the DOM and Cursor areas
* rewrite of the <xs:redefine> support
* Completed the implementation of Filer
* new documentation on xs:any, validation plus updates of the old docs
* many bug fixes, including perm gen memory bug


Changes in v2.0.0-beta1:

* new store implementation, including native DOM implementation
* Piccolo is now the default parser.XmlOptions.setLoadUseXMLReader (XMLReader xmlReader) can be used when a diffrent parser is required.
* Sample xml generation from an schema file
* New failfast behavior for simple types, more consistent
* EntityResolver is setable in SchemaCompiler
* XPath 2.0 and Xquery support through Saxon
* java 1.5 generics for array properties added to generated source
* Simplified working with substitution groups by adding XmlObject.substitute() method
* "-noVDoc" command-line option for scomp to skip validation of <xs:documentation> contents
* uniform access to the getSourceName() method in Schema Object Model
* Cleaned up schema compilation APIs with a XmlBeans.compileXmlBeans()
* Added error codes and improved validation error messages
* Changed .xsb format and loading strategy to improve performance
* Ability to pass URLs instead of Files for Wsdl/Schemas
* Added option to pass in "##local" to -allowmdef
* Inst2xsd: support for xsi:nil and qname fix.
* adding getCurrentElementSchemaType in Validator for finding schema types of elements with xsi:type attribute
* adding ValidatingInfoXMLStreamReader for PSVI access on XMLStreamReaders
* added Location to streaming validation errors
* Instance 2 schema tool
* Support for arbitrarily nesting <xsd:redefine>s
* New "schema bookmark" mechanism allowing one to tag user data on Schema Object Model entities
* Add ability for XmlSaxHandler to insert bookmarks while loading
* Added a diff utility that compares two jars (or directories) containing compiled Schema types
* Interface and pre-post extensions
* Enabled ValidatingXMLStreamReader to start validating from both current and next event in the XMLStreamReader
* Functionality to retrieve xml validation errors programatically
* Added saver options to not save xml decl
* Added ability to compile Schemas containing references to SOAP11 encoded arrays
* selectChildren and selectAttributes for dynamic getters and some wildcard scenarios
* Location in ValidatingXmlStreamReader
* Added a wrapper over jsr173's XMLStreamReader
* Added support for default value in XMLStreamReaderExt interface and implementation
* Adding typed value for QName case in the Validator
* Adding an utility for validation of simple schema types
* Improved the Validator to ofer PSVI info
* Exposed some of the XMLSchema validator functionality in the public interfaces
* Added support for XML Catalog, based on Apache Commons CatalogResolver
* Added XMLStreamReaderExt an extention of XMLStreamReader which alowes getting strongly typed java values from a stream
* Adds support for annotations in XMLSchema
* Added JSR 173 support

* performance tests
* various feature tests
* samples and documentation
* packaging, licencing changes
