History of Changes
Version 5.3.0 (2024-12-13)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-653 | upgrade log4j-api dependency to 2.24.2 due to serious bug in 2.24.1 | 
Version 5.2.2 (2024-11-05)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-651 | remove xml-apis dependency | 
|  | XMLBEANS-652 | Code Generation hardcodes ISO-8859-1 as the char encoding | 
Version 5.2.1 (2024-05-27)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-617 | Support recursing directories (sourceDir configuration parameter) | 
|  | XMLBEANS-644 | Code Generation: SchemaTypeCodePrinter cannot handle case where there are elements and attributes with clashing QNames | 
|  | XMLBEANS-645 | upgrade to saxon-he 12.4 | 
|  | XMLBEANS-646 | Hex Binary decoding support can throw ArrayIndexOutOfBoundException | 
|  | XMLBEANS-647 | upgrade maven plugins | 
|  | XMLBEANS-648 | Fix issue with module loading by some users of Java 11+ | 
|  | XMLBEANS-649 | upgrade to javaparser 3.25.10 | 
Version 5.2.0 (2023-11-16)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-474 | NegativeArraySizeException thrown from TextSaver.resize | 
|  | XMLBEANS-625 | Remove unused JarHelper code | 
|  | XMLBEANS-626 | Interface extensions need explicit dependency on javaparser-symbol-solver-core | 
|  | XMLBEANS-631 | upgrade to log4j 2.21.1 | 
|  | XMLBEANS-632 | upgrade to ant 1.10.14 | 
|  | XMLBEANS-634 | upgrade to javaparser 3.25.5 | 
|  | XMLBEANS-637 | Combine same contiguous element types incorrectly while generating XSD from an XML instance | 
|  | XMLBEANS-638 | make gradle build produce reproducible jars | 
|  | XMLBEANS-639 | add license/notice to sources and javadoc jars | 
|  | XMLBEANS-640 | upgrade to saxon-he 12.3 | 
|  | XMLBEANS-641 | use java.nio.file.Files APIs | 
Version 5.1.1 (2022-08-29)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-612 | Adjust Class loading to allow using XMLBeans on Android | 
|  | XMLBEANS-614 | upgrade to log4j 2.18.0 | 
|  | XMLBEANS-619 | Performance enhancement for interface extension generation | 
|  | XMLBEANS-622 | javaparser 3.24.4 | 
|  | XMLBEANS-623 | Hardening of zip slip check in JarHelper | 
|  | XMLBEANS-624 | remove xstc tool | 
Version 5.1.0 (2022-06-12)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-47 | Inner Class Handler is not supported | 
|  | XMLBEANS-416 | Allow referencing cross-xsd usertypes | 
|  | XMLBEANS-567 | Fix some problems with XMLBeans Extension Interfaces Feature | 
|  | XMLBEANS-582 | Make XmlCursor AutoCloseable | 
|  | XMLBEANS-584 | Change version code so that the value is automatically generated | 
|  | XMLBEANS-585 | Add sonarqube build | 
|  | XMLBEANS-586 | Migrate ant build to gradle | 
|  | XMLBEANS-588 | GDate can return different values on different current timezones | 
|  | XMLBEANS-591 | Use generics in Collections | 
|  | XMLBEANS-595 | Upgrade to Saxon 11 | 
|  | XMLBEANS-596 | Upgrade to Junit 5 | 
|  | XMLBEANS-597 | Improve support for using XMLBeans on Android | 
|  | XMLBEANS-599 | Line breaks in base64binary caused a validation error | 
|  | XMLBEANS-601 | Create temp files using java.nio.files.Files | 
|  | XMLBEANS-603 | Upgrade to log4j-api 2.17.2 | 
|  | XMLBEANS-604 | Incorrect Assert in Saver.TextSaver | 
|  | XMLBEANS-608 | Memory leak in interface extension handling | 
|  | XMLBEANS-609 | Parameterised return types not handled correctly in interface extensions | 
|  | XMLBEANS-610 | Compiling XSD is slow since version 5.0.1 | 
Version 5.0.3 (2021-12-29)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-579 | SampleXmlUtil misses root element with only one child | 
|  | XMLBEANS-580 | upgrade to log4j-api 2.17.1 | 
|  | XMLBEANS-583 | Duplicated "xmlns" attribute in XmlObject.toString() result | 
Version 5.0.2 (2021-10-20)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-572 | When generating Java code, there is a wrong reference to java.util.Object[] | 
|  | XMLBEANS-569 | support disallow-doctype-decl setting on XML parser | 
|  | XMLBEANS-566 | Configuration property "quiet" in the maven plugin is spelled wrong | 
|  | XMLBEANS-495 | StackOverflowError when parsing a large number of characters in an XML element | 
|  | XMLBEANS-576 | upgrade javaparser dependency to 3.23.0 | 
|  | XMLBEANS-577 | upgrade to log4j 2.14.1 | 
|  | XMLBEANS-578 | upgrade to saxon 10.6 | 
Version 5.0.1 (2021-07-10)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-564 | SAXHelper creates noisy logging with stacktraces | 
|  | XMLBEANS-565 | Generate TypeSystemHolder as .java (in sources) instead of .class (in resources) | 
|  | XMLBEANS-563 | maven plugin does not have feature parity with codehaus maven plugin or allow all configuration options | 
|  | XMLBEANS-235 | Support annotations > 64kb characters | 
|  | XMLBEANS-556 | Support enumerations with more than 64k entries | 
|  | XMLBEANS-487 | Entity replacement in wrong place when expansion coincides with buffer growth | 
|  | XMLBEANS-82 | Use XSD Annotations for comment generation | 
|  | XMLBEANS-214 | Support the 2009 version of xml.xsd | 
|  | XMLBEANS-481 | Base64 to byte[] is not very efficient | 
|  | XMLBEANS-535 | Error line number always -1 for XML validation errors | 
|  | XMLBEANS-559 | Race condition in SchemaIdentityConstraintImpl.java | 
Version 5.0.0 (2021-03-14)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-555 | Partial method generation and remove inner factory classes - re-generation of the beans necessary (breaks backwards compatibility) | 
|  | XMLBEANS-551 | use log4j-2 for logging | 
|  | XMLBEANS-486 | Provide Maven plugin | 
|  | XMLBEANS-557 | Duplicate classes in jar | 
|  | XMLBEANS-554 | xmlbean doesn't support the "javasource" attribute | 
Version 4.0.0 (2020-10-16)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-540 | Prevent trim of elements when pretty print is used | 
|  | XMLBEANS-542 | SAX Parsing should not fail if parser does not allow the setting of declaration-handler | 
|  | XMLBEANS-548 | XmlDocumentProperties.setStandalone is ignored when saving | 
|  | XMLBEANS-539 | Support for newer versions of Saxon as an XPath engine | 
|  | XMLBEANS-536 | Increase Java 9+ compatibility - Jigsaw/JPMS support - layout of the schema classes changed - regeneration of the schema classes is recommended (breaks backwards compatibility) | 
Version 3.1.0 (2019-03-26)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | 
Version 3.0.2 (2018-10-23)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-520 | xmlbeans 3.0.1 - wrong name for source(s) artifact | 
|  | XMLBEANS-519 | issue with using firefly & apache harmony parser | 
|  | XMLBEANS-511 | NPE @ SchemaTypeImpl.isAssignableFrom() | 
|  | XMLBEANS-506 | NPE trying to load resource file if XmlBeans was loaded by the bootstrap ClassLoader | 
Version 3.0.1 (2018-08-24)
Version 3.0.0 (2018-06-29)
Summary
- use safe xml parsing - remove piccolo support
- Java 6 is now minimum supported JRE
Changes
| Type | Bug | Description | 
|---|---|---|
|  | XMLBEANS-517 | use safe XML parsers | 
|  | XMLBEANS-516 | remove unnecessary javax and org.w3c classes (breaks backwards compatibility) | 
|  | XMLBEANS-515 | remove piccolo support (breaks backwards compatibility) | 
|  | XMLBEANS-514 | make java 6 the lowest supported runtime (breaks backwards compatibility) | 
|  | XMLBEANS-489 | fix for Cursor getAllNamespaces not returning default namespace | 
|  | XMLBEANS-499 | xmlbeans2.6.0.jar contains duplicate class files (causes issues on Android) | 
|  | XMLBEANS-447 | Drop the ConcurrentReaderHashMap source code | 
|  | XMLBEANS-404 | entitizeContent CDATA loop iterating too many times (causes assertion error or ArrayIndexOutOfBoundsException in replace) | 
|  | XMLBEANS-332 | XMLBeans changes surrogate pair bytes to question marks | 
Version 2.6.0 (2012-08-14)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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. | |
|  | Validation of integer value containing dot char. | |
|  | Fix chars in comments to avoid errors in IntelliJ under linux. | |
|  | Update durations to latest spec. | |
|  | 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. | |
|  | Preserve the CDATA bookmarks when copy from one xmlobject to another. | |
|  | Resizing circular buffer in saver's output stream implementation. | |
|  | 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. | |
|  | XMLBEANS-396 | GML 3.1.1 generated code fails to compile. | 
|  | XMLBEANS-412 | Fix for bug : Pattern facet regex requires dash - to be escaped. | 
|  | XMLBEANS-414 | error cvc-complex-type.2.1: Element 'XXXX' with empty content type cannot have text or element content. | 
Version 2.5.0 (2009-12-14)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | Exit codes for InstanceValidator | |
|  | Decimal precision handling fix in xsd2inst | |
|  | XMLBEANS-350 | Option to perform additional, stricter Schema validation checks | 
|  | 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 | |
|  | XMLBEANS-381 | Nested enumeration type compilation error fix | 
|  | Deadlock fix in generated impl setter simple and array | |
|  | Required attribute fix in streaming validator | |
|  | Many other fixes and optimizations | 
Version 2.4.0 (2008-07-08)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | |
|  | XMLBEANS-309 | Warnings on Generated code | 
|  | XMLBEANS-361 | invalid NaN comparisons | 
|  | Fix qname marshaling when empty namespace | |
|  | Various other bug fixes | 
Version 2.3.0 (2007-06-01)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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. | |
|  | XMLBEANS-274 | overzealous whitespace cropping after parsing entities like & | 
|  | XMLBEANS-276 | selectPath() with setXqueryCurrentNodeVar() option does not work for Saxon | 
|  | synchronization problem with array setters | |
|  | XMLBEANS-209 | Saver$TextSaver.replace method throws java.lang.ArrayIndexOutOfBoundsException | 
|  | XMLBEANS-290 | QNameSet generated by QNameSet.forArray(QName[]) can't be unioned with other QNameSets | 
|  | XMLBEANS-291 | java.lang.ArrayIndexOutOfBoundsException when saving XML | 
|  | XMLBEANS-275 | XQuery gives wrong result with Saxon 8.6.1 | 
|  | bug during generation of complex types with simple content | |
|  | improved error handling during loading of Schema type system | |
|  | bugs in Duration serialization | |
|  | XMLCursor.getTextValue() | |
|  | Remove year zero from GDate, GDateBuilder and XmlCalendar per XMLSchema spec D.3.2 | 
Version 2.2.0 (2006-06-23)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | 
Version 2.1.0 (2005-11-16)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | 
Version 2.0.0 (2005-06-30)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | 
Version 2.0.0-beta1 (2005-02-24)
Changes
| Type | Bug | Description | 
|---|---|---|
|  | 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 | 



