JDOM Changelog

What's new in JDOM 2.0.6

Feb 24, 2015
  • Fixes Issue 120 - Incorrect cloning of JaxenCompile ending up with variables shared between clones.
  • Fixes Issue 127 - When Outputting content, getting a PrettyFormat Format, then setting it to "Preserve" does not preserve properly
  • Fixes Issue 126 - While namespaces prefixes like "Xml" are discouraged, they are actually allowed (except "xml" and "xmlns" - case specific).
  • Fixes Issue 128 - Third party Security audit revealed a few places which were vulnerable.
  • Fixes Issue 129 - Java 8 introduces public sort method on List interface. This conflicts with protected sort on ContentList
  • Fixes Issue 131 - JavaDoc fix
  • Fixes Issue 134 - Upgrade Xalan to 2.7.2
  • Fixes Issue 143 - Maven third party dependency versions
  • Fixes Issue 136 - XMLReaders enum initializes all three members on first use (Non-validating, DTD, and XSD). This can be slow when not needed.
  • Fixes Issue 138 - Non-Namespace Aware DOM constructs get Parsed OK by JDOM 1.x but fail on JDOM 2.x. Make JDOM 2.x look harder for undeclared prefixes.

New in JDOM 2.0.5 (Apr 29, 2013)

  • Fixes Issue 106 - Uses different methods on StAX Stream output to ensure that Namespace URI's are prefixed correctly.
  • Fixes Issue 111 - Improve documentation for SAXBuilder.build(String) so that it is more obvious that the String is not actual XML values, but a URI.
  • Fixes Issue 112 - Improves performance of SAXBuilder when there are large ( greater than 1KB ) text sections in the input XML.
  • Fixes Issue 113 - Compile (and test) against Jaxen 1.1.6
  • Fixes Issue 114 - Setting the Line Separator for JDOM would not work from System.properties().
  • Fixes Issue 115 - Correctly set the 'xmlns' prefix and URI for Namespace declarations in DOMOutputter.
  • Fixes Issue 116 - JDOM 1.x uses an iterator to output XML child content, modify JDOM 2.x to do the same.

New in JDOM 2.0.4 (Nov 9, 2012)

  • Fixes Issue 93 - Some Java containers (e.g. Applets) have security restrictions on accessing System properties.
  • Fixes Issue 94 - Improve the exception-handling in the intializers for the XMLSchema validating singletons in XMLReaders.
  • Fixes Issue 97 - Update to using/packaging Jaxen 1.1.4
  • Fixes Issue 98 - Improve the XPathHelper class so that it can build queries to all nodes, including at document level.
  • Fixes Issue 100 - Use the functionally equivalent 'older' DOM methods instead of DOM 3 methods with may not be implemented completely in all DOM libraries.

New in JDOM 2.0.3 (Sep 12, 2012)

  • Fixes Issue 88 - makes subclasses of JDOM content serializable even if they are not in the org.jdom2 package.
  • Fixes Issue 89 - extends the SAX processing in JDOM to allow specific (named) JAXP factories to be used
  • Fixes Issue 90 - fixes a false-positive check for Attributes. See the issue for the details.
  • Fixes Issue 91 - A performance improvement for AttributeList
  • Fixes Issue 92 - Performance improvements for Verifier
  • No issue, but includes performance improvements to the regular ContentList.
  • Resolves Issue 87 - The name for the JDOM artifact in maven-central: JDOM 2.x from now on will be released in to the jdom2 artifact, instead of the jdom artifact.

New in JDOM 2.0.2 (Aug 3, 2012)

  • JDOM 2.x versions are a significant reworking of the JDOM API to enhance it with Generics, and other Java Language features introduced with Java 5. JDOM 2.x is fully supported for use with Java 6 or Java 7, and is also compatible with Java 5 with a few restrictions. See the full Statement on Supported Versions and Dependencies
  • To facilitate the deployment of JDOM 2.x, the entire JDOM package has been renamed. If you are migrating to JDOM 2.x from previous JDOM versions you will need to change your package imports from org.jdom.* to org.jdom2.*

New in JDOM 1.1 (Sep 22, 2008)

  • Added an additional constructor to JDOMSource with an EntityResolver which is passed to the internal DocumentReader allowing the SAXOutputter to properly resolve DTDs.
  • Added a forceNamespaceAware property to DOMOutputter which specifies you want a DOM constructed with namespaces even if the source JDOM document has no namespaces.
  • Added support for attribute "INF" and "-INF" values, to indicate positive and negative infinity, as XML Schema allows.
  • Moved isXMLWhitespace() method from private in XMLOutputter to public in Verifier.
  • Clarified XMLOutputter behavior with newlines and indents:
  • setIndent(" ") means newlines and " " indents
  • setIndent("") means newlines and "" indents
  • setIndent(null) means no newlines and no indents
  • Added set/getIgnoringBoundaryWhitespace() methods and features to SAXBuilder and SAXHandler.
  • Added a setFactory() method on XSLTransformer to control the object types built by the transform.
  • Added a string constant for the JDOM_OBJECT_MODEL_URI used by JAXP 1.3. It deserves being part of the public API.
  • Fixed bug in SAXOutputter where default namespaces would be declared as xmlns:="" with a spurious colon.
  • Fixed bug when using attributes without a namespace and outputting to a JDOMResult.
  • Removing check that a comment not start with a hyphen. A careful reading of production 15 in the XML 1.0 spec indicates leading hyphens are in fact allowed.
  • Fixed bug where outputFragment() on SAXOutputter could cause a NullPointerException because the locator would be null during the call.
  • Fixed bug where serializing ElementFilter causes a NullPointerException if the filter has no assigned namespace
  • Fixed some subtle bad behaviors in listIterator.add() logic, using brand new iterator logic.
  • Allowed a String to be passed to ContentList.add(int, Object).
  • Simplified JDOMAbout and renamed info.xml to jdom-info.xml, so getResourceAsStream() won't suffer any name collision.
  • Fixed tiny issue where CDATA could be set with illegal character content.
  • Added logic to escape some special characters in namespace URIs.
  • Fixed bug where the attribute type would change on a setAttribute() call.
  • Improved performance on Namespace handling.
  • Improved and clarified Javadocs.