| Version | Date | Description | 
|---|---|---|
| 1.6.1 | 2005-05-16 | |
| 1.6 | 2005-04-15 | |
| 1.5.2 | 2004-11-15 | |
| 1.5.1 | 2004-10-29 | |
| 1.5 | 2004-09-03 | |
| 1.5-rc1 | 2004-07-04 | |
| 1.5-beta-2 | 2004-05-12 | |
| 1.5-beta-1 | 2004-03-25 | 
| Type | Changes | By | 
|---|---|---|
|   | Updated the XPP2 implementation to version 2.1.10. Thanks to Wolfgang Baer . | maartenc | 
|   | Fixed a problem with XMLWriterthat was causing too many new lines to be written to the resulting XML. Thanks to Thomas Fromm . | maartenc | 
|   | Include more information about the cause if an XPathExceptionorInvalidXPathExceptionis thrown. Thanks to Gili Tzabari . | maartenc | 
| Type | Changes | By | 
|---|---|---|
|   | Added a methods to SAXReaderallowing to specify the encoding used when reading XML sources. Thanks to Filip Jirsak . | maartenc | 
|   | Changed the DocumentHelper.parseText(String)method to make sure that the XML encoding is always set (if known) on the returnedDocument, even if the used SAXParser doesn't provide a way to retrieve that encoding. | maartenc | 
|   | Added a setXMLEncoding(String)method to theDocumentinterface. | maartenc | 
|   | Removed a static OutputFormatfield fromAbstractBranch. This can cause problems if multiple threads are using theasXML()method simultaniously. Thanks to John Plaxton . | maartenc | 
|   | Fixed a whitespace problem with the pretty-print OutputFormat. Thanks to Brett Porter . | maartenc | 
|   | Fixed a bug in the DefaultElement.setContent(List)method that caused incorrectly resetting the parent of the nodes in the list. Thanks to Peter Schaefer . | maartenc | 
|   | Removed persistencepackage and sub-package. | wolfftw | 
|   | Modified SAXEventRecorderto accomodate sax events generated when writing aDOMDocument. | wolfftw | 
|   | Fixed a problem in AbstractDocument.asXML()when an encoding was specified on theDocument. Thanks to Pieter Valcke . | maartenc | 
|   | The DefaultNamespace.isReadOnly()method now returnsfalse. This fixes issues with cloning thisNode. | maartenc | 
|   | Updated DocumentFactoryto create the instance untill the first time it is needed. Thanks to Brian Topping . | maartenc | 
|   | Fixed a bug in Stylesheetwhen an xpath expressions was used to select the nodes. Thanks to Brett Porter . | maartenc | 
|   | Added a SingletonStrategyclass for managing singletons. This allows to use different strategies for singletons, like: one instance per VM, one instance per thread, ... This change removed the usage ofThreadLocals. | ddlucas | 
| Type | Changes | By | 
|---|---|---|
|   | Removed the internal Aelfred2 parser due to incompatible license. | maartenc | 
|   | Added a SAXEventRecorderthat can replay SAX events at a later time. This provides an alternative serialization approach. | wolfftw | 
| Type | Changes | By | 
|---|---|---|
|   | Fixed problem where the namespace prefix was lost using DOMDocument. Thanks to Ara Vartanian . | maartenc | 
|   | Fixed bug in Document.asXML()which ignored the encoding of the document. Thanks to David Karlsen . | maartenc | 
|   | Updated NamespaceCacheto useWeakReferences to allowNamespaceobjects to be garbage collected. | maartenc | 
|   | Updated JAXBReaderto allow ElementHandlers to be notified when the specified path is encountered, without having to unmarshall XML content. Thanks to Wonne Keysers . | maartenc | 
|   | Fixed a bug in XMLWriterwhere aNullPointerExceptionwas thrown if trying to write a CData section containingnullcontent. Thanks to Daniel Hopper . | maartenc | 
|   | Modified the internal Aelfred2 parser to no longer support the SAX2 Extensions 1.1 API. As a result, the SAX2 sources are no included with dom4j. | maartenc | 
|   | Added support for the XPP3 parser. Thanks to Pelle Braendgaard . | maartenc | 
| Type | Changes | By | 
|---|---|---|
|   | Fixed bug in XMLWriter.characters(...)where the escapeText property of the writer was ignored. Thanks to Dion Gillard . | maartenc | 
|   | Fixed the Stylesheet.removeRule(Rule)method which didn't remove theRulebut added it again. Thanks to Peter Stibrany . | maartenc | 
|   | Fixed bug in BackedListcausing new elements to always be added at the first position if the size of the list is 1. Thanks to Robert Koberg . | maartenc | 
|   | Upgraded the internal Aelfred2 parser to the latest version. | maartenc | 
|   | Added initial JAXB support. Thanks to Wonne Keysers . | maartenc | 
|   | Updated the STAX classes to provide document encoding. Thanks to Christian Niles . | maartenc | 
|   | Added getXMLEncoding()method toorg.dom4j.Documentwhich returns the encoding of the document. | maartenc | 
| Type | Changes | By | 
|---|---|---|
|   | Removed the DocumentHelper.parseText(String xml, String encoding)method that was introduced in dom4j-1.5-beta2. | maartenc | 
|   | Added the GNU JAXP DOM implementation to the default list of implementations in DOMWriter. | maartenc | 
|   | Added method to ElementStackandDispatchHandlerto check if a handler is registered for a given path. Thanks to Wonne Keysers . | maartenc | 
|   | ElementStackis now a public class. Thanks to Wonne Keysers . | maartenc | 
|   | SAXContentHandler.endElement(...)can now throwSAXException. Thanks to Wonne Keysers . | maartenc | 
|   | Added the namespace-prefix of attributes to the paths returned by Attribute.getPath(Element context)andAttribute.getUniquePath(Element context). Thanks to Aaron Bell . | maartenc | 
|   | Element.declaredNamespaces()now only returns the namespaces that are declared on that element.Element.additionalNamespaces()now only returns namespaces that are declared on that element and is not the same as the namespace of that element. Thanks to Marc Pellmann . | maartenc | 
|   | Escape the values of internal DTD entity declarations when serializing to XML. Thanks to Marc Pellmann . | maartenc | 
|   | Fixed bug in AbstractElementcausingNode.getPath(Element context)to return an absolute path, even if a the current element was the same as the context element. The relative path "." is now returned. Thanks to Rob Grzywinski . | maartenc | 
|   | Added method to Elementto retrieve allNamespacesfor a given URI. Thanks to Thomas Diesler . | maartenc | 
|   | Fixed bug in DOMReadercausing namespace declarations to get lost in some situations. Thanks to Thomas Diesler . | maartenc | 
|   | Added a booleanValueOf(Object node)method toXPath. Thanks to Ben Scarlet . | maartenc | 
|   | Fixed bug in BeanElementwhich prevented proper execution of the bean samples. Thanks to Wonne Keysers . | maartenc | 
|   | STAXEventWriternow usesXMLEventConsumerinstead ofXMLEventWriter. Thanks to Christian Niles . | maartenc | 
|   | Fixed bug in SAXReaderthat caused problems parsing files in OSX. Thanks to Paul Libbrecht . | maartenc | 
|   | Fixed bug in XMLWriterthat caused whitespace to be added between successive calls of thecharacters(...)method. This is used particularly frequent in Apache Jelly. Thanks to Paul Libbrecht . | maartenc | 
|   | Improved performance of NamespaceCachein multithreaded environments. Thanks to Brett Finnell . | maartenc | 
| Type | Changes | By | 
|---|---|---|
|   | Added flag to OutputFormatthat supresses newline after XML declaration. | wolfftw | 
|   | Upgraded dependencies to their latest version on ibiblio. | maartenc | 
|   | Added method to DocumentHelperthat allows user to specify encoding when parsing an xmlString. Thanks to Todd Wolff . | maartenc | 
|   | Fixed a ClassCastException bug in BeanElement. | maartenc | 
|   | Fixed a bug in SAXContentHandlerwhich caused aNullPointerExceptionin some situations. | maartenc | 
|   | Fixed bug which prevented an element's namespace prefix from being registered for use in xpath expressions. Thanks to Todd Wolff . | maartenc | 
|   | Fixed bug in XMLWriterthat caused duplication of the default namespace declaration. Thanks to Todd Wolff . | maartenc | 
|   | Added a bunch of patches to make the dom4j DOM classes more DOM compliant. Thanks to Curt Arnold . | maartenc | 
|   | Fixed bug in DispatchHandlerwhich made the handler not reusable. Thanks to Ricardo Leon . | maartenc | 
|   | Fixed bug in SAXContentHandlerthat caused incorrect CDATA section parsing. Thanks to Todd Wolff . | maartenc | 
|   | Fixed bug in SAXContentHandlerthat caused incorrect entity handling. | maartenc | 
|   | Fixed bug in XMLWritercausing padding to be disabled, even if enabled in the specified outputformat. Thanks to Bo Gundersen . | maartenc | 
|   | Added initial support for STaX streams. Thanks to Christian Niles . | maartenc | 
| Type | Changes | By | 
|---|---|---|
|   | Fixed encoding bug in Document.asXML()andDocumentHelper.parseText(). | maartenc | 
|   | Fixed bug in SAXReaderthat caused problems resolving relative URIs when parsingjava.io.FileObjects. Thanks to Kohsuke Kawaguchi . | maartenc | 
|   | The iterators returned by the Element.elementIterator(...)methods now supportremove(). | maartenc | 
|   | DOMWriterwrites now DOM Level 2 attributes and elements. Thanks to Geert Dendoncker and Joury Gokel . | maartenc | 
|   | Use latest implementation of the Aelfred parser. | maartenc | 
|   | Fixed some problems with internal/external DTD declarations. Thanks to Bryan Thompson . | maartenc | 
|   | Upgraded to Jaxen 1.1 beta 2. | maartenc | 
|   | Ignore attribute order when comparing elements in NodeComparator. | maartenc | 
|   | Fixed bug in XMLWriterwhere namespace declarations were duplicated. | maartenc | 
|   | Fixed bug in parsing a ProcessingInstruction. Thanks to Vladimir Kralik . | maartenc | 
|   | Added support for Stylesheetmodes. Thanks to Mark Diggory . | maartenc | 
|   | Don't escape " and ' characters in attribute values if it's not necessary. Thanks to Christian Niles . | maartenc | 
|   | Fixed some DOMNodeHelperissues. Thanks to Henner Kollmann . | maartenc | 
|   | Fixed some datatype issues. Thanks to Thomas Draier . | maartenc | 
|   | Fixed an bug where the EntityResolver was not set on the XMLReader. | maartenc | 
|   | Fixed multithreaded access on DefaultElement. | slehmann | 
|   | Fixed problem parsing XML Files. Thanks to Geoffrey Vlassaks . | maartenc | 
|   | Added xml:space attribute support based on XML Specification 1.0. | ddlucas | 
|   | Maven build of dom4j is now nearly complete. Maven is now used for the website generation. | maartenc | 
|   | Fixed some bugs in BackedList. Thanks to Alessandro Vernet . | maartenc |