* * * * * * JDOM 1.1.2 (tag: jdom_1_1_2) from JDOM 1.1.1 * * * * * *
Moved entire code base from CVS to Git, at https://github.com/hunterhacker/jdom
Number of bug fixes. The '#' numbers refer to issues listed in GitHub at:
https://github.com/hunterhacker/jdom/issues
#1 Schema validation can miss namespaces of default attributes
#2 Some parsers do not give qName details, relying instead on just local-name
#6 Remove unnecessary classes in the default package (JDOMAbout.class)
#16 FilterListIterator.add() method does not check content type.
#17 FilterListIterator does not behave well when add() or remove() is
called after previous()
#20 ProcessingInstruction Map-data constructor should 'clone' the input map
#21 Document.toString() throws IllegalStateException when no root element
#22 It is possible to add root element before the DocType in a Document
#23 Text.append("") deletes current value
#29 org.jdom2.output.Format implements Cloneable, but clone() is not public
#32 DOMOutputter can add Document content in the wrong order
#36 JDOMSource.JDOMInputSource.setByteStream() should fail
#39 JDOMResult.getDocument() should return null when content is not legal.
#40 SAXOutputter does not fire startPrefixMapping() events for Attribute Namespaces
#44 Element.getNamespace(String prefix) does not check attributes.
#48 Element.setNamespace() does not check for Namespace conflicts.
Additionally, as per issue #3 Compiled Jar will now available on maven-central
with the coordinates:
GroupId: org.jdom
ArtifactID: jdom
Version: 1.1.2
(Note, It make take a few days to get the maven-central repository sync'd)
* * * * * * JDOM 1.1.1 (tag: jdom_1_1_1) from JDOM 1.1 * * * * * *
Fixed a synchronization issue in the Namespace class that could cause a
hang when doing concurrent builds.
Added output support for Unicode surrogate pairs.
Added a new flag on SAXBuilder named setFastReconfigure() which, when set,
can speed reconfiguration by skipping repeated attempts to set features that
are determined not to be present on a parser. Useful when doing many builds
per second.
Updated the provided Jaxen library from a modified Jaxen 1.0 to the latest
which is Jaxen 1.1.1.
Added reflection code in the error reporting system to support Android's
Dalvik VM which doesn't have the java.rmi.* classes.
* * * * * * JDOM 1.1 (tag: jdom_1_1) from JDOM 1.0 * * * * * *
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.
* * * * * * JDOM 1.0 (tag: jdom_1_0) from JDOM Beta10 * * * * * *
Added a new lib/jaxen-jdom.jar that solves some XPath ancestry problems
introduced by the Parent interface. See the new lib/jaxen.readme for
details.
Moved the addContent() and setContent() methods from Parent into Element and
Document directly. This re-enables method chaining that some people missed.
Fixed a few bugs in SAXOutputter: start/endPrefixMapping was not being fired
for no namespace, DocType was being improperly constructed, changed to use a
DefaultHandler with the dtd parser to better suppress unimportant problems.
Added SAXOutputter support for outputting fragments of documents with the
new methods:
output(Content)
outputFragment(List)
outputFragment(Content)
Added support in XMLOutputter for ignoring the JAXP processing instructions
<?javax.xml.transform.enable-output-escaping?> and
<?javax.xml.transform.disable-output-escaping?>. Respect for these PIs is
toggled by the Format.set/getIgnoreTrAXEscapingPIs() feature, default false.
Added to JDOMFactory the methods document(Element rootElement, DocType
docType, String baseURI) and entityRef(String elementName, String systemID).
These match constructors that were previously overlooked. Also added
implementations to DefaultJDOMFactory and UnverifiedJDOMFactory.
Added to Element the method getParentElement() that returns the parent element
or null if the object is unattached or the root element.
Fixed bug in FilterIterator that affected next() calls.
Fixed bug in DOMOutputter regarding extraneous namespace declarations
appearing under certain conditions.
Changed XMLOutputter to clone the Format objects when they're set/get
Fixed bug in JDOMResult where the result list could include incomplete
results in certain situations, fixed by forcing a flush.
Made SAXHandler.flushCharacters() protected again after being private. It's
needed for the above fix.
Changed Verifier.isXXX() methods from private to public as it was well
argued that they're based on unchanging spec productions and can be
generally useful even apart from JDOM.
Added support for surrogate pairs in the Verifier. (Surrogate pairs don't
yet have any special output support.)
Fixed bug in SAXBuilder to avoid an IllegalStateException when apps access
the partial document when parse failure occurs right after the beginning of
the parse.
Updated JaxenXPath to avoid the deprecated XPath.valueOf().
Brought the jdom-contrib ElementScanner up to date.
Fixed various Javadoc typos.
Removed the build-time dependence on saxpath.jar.
Removed all deprecated methods.
Fixed bug where in "pretty print" output EntityRef instances would erroneously
print on their own line.
Added character encoding rules to improve whitespace round tripping:
http://lists.denveronline.net/lists/jdom-interest/2003-July/013227.html
Added DOMBuilder.getFactory() method to match what we added to SAXBuilder.
Removed Parent.canContain() and the Document and Element implementations.
Moved the logic directly into ContentList. No reason to expose a public
method unless it has a general purpose.
Reduced the visibility on some XMLOutputter internals that we don't want to
guarantee support for over the long term. Some people who want custom output
formatting may need to copy some code blocks. That's OK since JDOM is open
source and whil