Release Notes - Commons JXPath - Version 1.3

Bug

  • [JXPATH-2] - Using JXPath in multiple threads
  • [JXPATH-5] - asPath() returns a path to the last sibling
  • [JXPATH-10] - JXPath 1.1 code using custom functions failing when run in 1.2 onwards
  • [JXPATH-12] - Descendant or self axis does not work correctly at root node
  • [JXPATH-17] - JXPathContext.iteratePointers("//*") results are incorrect
  • [JXPATH-30] - Source instructions on web site are wrong
  • [JXPATH-37] - JXPathException cause
  • [JXPATH-38] - ClassFunctions throws NPE searching for a function in null ns
  • [JXPATH-40] - Problem in namespace handling
  • [JXPATH-46] - NullPointerException
  • [JXPATH-50] - does not properly handle NodeSet returned by extension function
  • [JXPATH-68] - StackOverflow error on a call to 'JXPathContext.createPath()'
  • [JXPATH-70] - Javadoc missing from distribution
  • [JXPATH-73] - ValueUtils should catch IndexOutOfBoundsException instead of ArrayIndexOutOfBoundsException (for XmlBeans support)
  • [JXPATH-76] - CompiledExpression not completely thread-safe
  • [JXPATH-79] - Error when accessing JXPathContext methods in Concurrent Scenario
  • [JXPATH-83] - JXpath automatically trims string values
  • [JXPATH-84] - reserved word enum is used
  • [JXPATH-85] - Restore binary compatibility with JXPath 1.2
  • [JXPATH-87] - xmlURL field not set in XMLDocumentContainer
  • [JXPATH-89] - Cannot compare pointers that do not belong to the same tree
  • [JXPATH-90] - Upper boundary check is missing from substring(<string>, <number>)
  • [JXPATH-93] - Binary operators behaviour involving node-sets is incorrect
  • [JXPATH-94] - equality test for multi-valued variables does not conform to spec
  • [JXPATH-95] - Comparing with NaN is incorrect
  • [JXPATH-97] - Incomplete handling of undefined namespaces
  • [JXPATH-98] - termination problem with empty list
  • [JXPATH-100] - Core union operation does not sort result nodes according to document order
  • [JXPATH-101] - Original context from VariableContextWrapper is not visible
  • [JXPATH-102] - Core rounding functions don't handle NaN or infinite values correctly
  • [JXPATH-104] - selectSingleNode() from a map should not select map values keyed by strings with embedded colons using namespaced element syntax
  • [JXPATH-105] - BasicNodeSet.getNodes() returns values instead of nodes ?
  • [JXPATH-106] - Typo in JXPathException.getMessage()
  • [JXPATH-107] - RCN: Nullcheck of NodePointer.parent of value previously dereferenced in PropertyOwnerPointer.setValue(Object)
  • [JXPATH-109] - Namespaced attribute not selected with wildcard
  • [JXPATH-111] - ClassCastException in PrecedingOrFollowingContext
  • [JXPATH-113] - NullPointerException in ChildContext
  • [JXPATH-114] - node() implementation in DOM and JDOM model
  • [JXPATH-115] - Issue with attribute::
  • [JXPATH-120] - ClassCastException in ServletRequestHandler.setProperty()
  • [JXPATH-123] - Regression: "fix" made to NamespaceResolver broke existing testcases

Improvement

  • [JXPATH-75] - The dependency for xerces in commons-jxpath-1.2.pom is too old
  • [JXPATH-88] - Add getPrefix(String namespaceURI) to JXPathContext
  • [JXPATH-91] - KeyManager should support nodeset selection
  • [JXPATH-108] - problems with NodeSet returned from custom function.
  • [JXPATH-124] - Make buildContextChain method of Path class protected

New Feature

  • [JXPATH-96] - Extract VariablePointerFactory interface

Acknowledgements

Thanks to everybody who reported problems, helped to trace them, suggested changes or simply provided encouragement. Special thanks to

  • Dmitri Plotnikov (foundation)
  • Niall Pemberton (release guidance)
  • Dennis Lundberg (M2 assistance)
  • Sergey Vladimirov (numerous bug reports)
  • Michele Vivoda (numerous bug reports)
  • Henri Yandell (proposing a new committer)
  • Elliotte Rusty Harold (XPath feature sanity check)