|
| 1 | +Apache Commons JXPath 1.4.0 Release Notes |
| 2 | +----------------------------------------- |
| 3 | + |
| 4 | +The Apache Commons JXPath team is pleased to announce the release of Apache Commons JXPath 1.4.0. |
| 5 | + |
| 6 | +Introduction |
| 7 | +------------ |
| 8 | + |
| 9 | +A Java-based implementation of XPath 1.0 that, in addition to XML processing, can inspect/modify Java object graphs (the library's explicit purpose) and even mixed Java/XML structures. |
| 10 | + |
| 11 | +New features and bug fixes. |
| 12 | + |
| 13 | +New features |
| 14 | +------------ |
| 15 | + |
| 16 | +o JXPATH-123: XPath function "ends-with" is not implemented (although "starts-with" is). |
| 17 | + |
| 18 | +Fixed Bugs |
| 19 | +---------- |
| 20 | + |
| 21 | +o JXPATH-172: Clarify Javadoc of JXPathContext#getPointer. Thanks to Michele Vivoda. |
| 22 | +o JXPATH-113: NullPointerException in ChildContext when document only contains an empty root node. Thanks to Michele Vivoda. |
| 23 | +o JXPATH-160: ValueUtils.getValue throws exception with set and index above size. Thanks to Stefan Albrecht, Michele Vivoda, Uwe Barthel. |
| 24 | +o JXPATH-162: Concurrency problem for JXPathContextFactory.factoryImplName static field. Thanks to Uwe Barthel. |
| 25 | +o JXPATH-141: FunctionLibrary Multithreading issue. |
| 26 | +o JXPATH-131: Bean exception handling. Thanks to Gabriel Buades Rubio. |
| 27 | +o JXPATH-128: JXPath support for LazyDynaBean is broken. Thanks to Gabriel Buades Rubio. |
| 28 | +o JXPATH-129: MethodLookupUtils#matchType uses TypeUtils#canConvert which causes "Ambiguous method call" exception. |
| 29 | +o JXPATH-153: Wrong entry IMPORT-PACKAGE in the file MANIFEST.MF for jdom and commons-beanutils. |
| 30 | +o JXPATH-153: Change dynamic class loading to consult context class loader. Thanks to John Trimble. |
| 31 | +o JXPATH-152: Concurrent access on hashmap of JXPathIntrospector. |
| 32 | +o Fix possible NPE in PackageFunctions.getFunction(String, String, Object[]). |
| 33 | +o JDOMNodePointer.compareChildNodePointers() now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
| 34 | +o ValueUtils.setValue() now throws IllegalArgumentException instead of RuntimeException. Thanks to Gary Gregory. |
| 35 | +o ClassLoaderUtil.toCanonicalName() now calls Objects.requireNonNull() instead of throwing a RuntimeException. Thanks to Gary Gregory. |
| 36 | +o XMLDocumentContainer.XMLDocumentContainer(Source) now calls Objects.requireNonNull() instead of throwing a RuntimeException. Thanks to Gary Gregory. |
| 37 | +o [StepSecurity] CI: Harden GitHub Actions #66. Thanks to step-security-bot, Gary Gregory. |
| 38 | +o Add missing Javadoc. Thanks to Gary Gregory. |
| 39 | +o Fix PMD UnnecessaryFullyQualifiedName. Thanks to Gary Gregory. |
| 40 | +o Add generics to JXPathContext.iterate(String). Thanks to Gary Gregory. |
| 41 | +o Add generics to JXPathContext.iteratePointers(String). Thanks to Gary Gregory. |
| 42 | +o Add generics to JXPathContext.decimalFormats. Thanks to Gary Gregory. |
| 43 | +o Migrate tests to JUnit5 #214. Thanks to strangelookingnerd. |
| 44 | +o Replace try-catch constructs in tests with assertThrows #215. Thanks to strangelookingnerd, Gary Gregory. |
| 45 | +o Use generics internally. Thanks to Gary Gregory. |
| 46 | +o NodeSet.getPointers() is now typed with generics. Thanks to Gary Gregory. |
| 47 | +o ServletContextHandler.collectPropertyNames(HashSet, Object) is now typed with generics. Thanks to Gary Gregory. |
| 48 | +o Deprecate ClassLoaderUtil.ClassLoaderUtil(). Thanks to Gary Gregory. |
| 49 | +o Deprecate MethodLookupUtils.MethodLookupUtils(). Thanks to Gary Gregory. |
| 50 | +o Deprecate KeyManagerUtils.KeyManagerUtils(). Thanks to Gary Gregory. |
| 51 | +o Deprecate TypeUtils.TypeUtils(). Thanks to Gary Gregory. |
| 52 | +o Deprecate ValueUtils.ValueUtils(). Thanks to Gary Gregory. |
| 53 | +o PageScopeContext.getAttributeNames() is now typed with generics. Thanks to Gary Gregory. |
| 54 | +o Functions.getUsedNamespaces() is now typed with generics. Thanks to Gary Gregory. |
| 55 | +o JXPathException now reuses its superclass' Throwable cause. Thanks to Gary Gregory. |
| 56 | +o Bump JXPathException serialVersionUID from 4306409701468017766L to 2L. Thanks to Gary Gregory. |
| 57 | +o JXPathContextFactoryConfigurationError now reuses its superclass' Throwable cause. Thanks to Gary Gregory. |
| 58 | +o Bump JXPathContextFactoryConfigurationError serialVersionUID from 1L to 2L. Thanks to Gary Gregory. |
| 59 | +o Deprecate SimplePathInterpreter.SimplePathInterpreter(). Thanks to Gary Gregory. |
| 60 | +o Deprecate JXPathServletContexts.JXPathServletContexts(). Thanks to Gary Gregory. |
| 61 | +o Deprecate JXPathIntrospector.JXPathIntrospector(). Thanks to Gary Gregory. |
| 62 | +o Deprecate InfoSetUtil.InfoSetUtil(). Thanks to Gary Gregory. |
| 63 | +o Deprecate Constants.Constants(). Thanks to Gary Gregory. |
| 64 | +o Deprecate Parser.Parser(). Thanks to Gary Gregory. |
| 65 | +o JXPathException.JXPathException(Throwable) now remembers its Throwable cause argument. Thanks to Gary Gregory. |
| 66 | +o Make the private DOMNodePointer.id field final. Thanks to Gary Gregory. |
| 67 | +o Make the private NullPointer.id field final. Thanks to Gary Gregory. |
| 68 | +o Make the private NullPointer.qname field final. Thanks to Gary Gregory. |
| 69 | +o Make the private JDOMNodePointer.id field final. Thanks to Gary Gregory. |
| 70 | +o ExpressionContext.getContextNodeList() now uses generics. Thanks to Gary Gregory. |
| 71 | +o BasicTypeConverter.unmodifiableCollection(Collection) now uses generics. Thanks to Gary Gregory. |
| 72 | +o Fix PMD AvoidDecimalLiteralsInBigDecimalConstructor in org.apache.commons.jxpath.util.BasicTypeConverter.allocateNumber(Class, double). Thanks to Gary Gregory. PMD. |
| 73 | +o org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.iteratePointers(String) now uses generics. Thanks to Gary Gregory. |
| 74 | +o org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.iteratePointers(String, Expression) now uses generics. Thanks to Gary Gregory. |
| 75 | +o org.apache.commons.jxpath.CompiledExpression.iteratePointers(JXPathContext) now uses generics. Thanks to Gary Gregory. |
| 76 | +o org.apache.commons.jxpath.JXPathCompiledExpression.iteratePointers(JXPathContext) now uses generics. Thanks to Gary Gregory. |
| 77 | +o org.apache.commons.jxpath.util.ClassLoaderUtil.getClass(ClassLoader, String) now uses generics. Thanks to Gary Gregory. |
| 78 | +o org.apache.commons.jxpath.util.ClassLoaderUtil.getClass(ClassLoader, String, boolean) now uses generics. Thanks to Gary Gregory. |
| 79 | +o org.apache.commons.jxpath.util.ClassLoaderUtil.getClass(String) now uses generics. Thanks to Gary Gregory. |
| 80 | +o org.apache.commons.jxpath.util.ClassLoaderUtil.getClass(String, boolean) now uses generics. Thanks to Gary Gregory. |
| 81 | + |
| 82 | +Changes |
| 83 | +------- |
| 84 | + |
| 85 | +o Bump commons-parent from 54 to 81 #45, #49, #64, #110, #121, #403, #167, #173, #176, #181, #185, #188, #196. Thanks to Dependabot, Gary Gregory. |
| 86 | +o JXPATH-184: Bump Java to 8. Thanks to britter, Gary Gregory. |
| 87 | +o Bump JUnit 3.8.1 to 4.13.2. Thanks to britter, Gary Gregory. |
| 88 | +o Bump commons-logging from 1.1.1 to 1.3.5 #34, #129, #147, #160, #174. Thanks to Dependabot, Gary Gregory. |
| 89 | +o Bump commons-beanutils from 1.8.2 to 1.10.1 #24. Thanks to Dependabot, Gary Gregory. |
| 90 | +o Bump taglist-maven-plugin from 2.2 to 3.0.0 #32. Thanks to Dependabot. |
| 91 | +o Bump servlet-api from 2.4 to 2.5 #29. Thanks to Dependabot. |
| 92 | +o Bump JDOM from jdom:jdom 1.0 to org.jdom:jdom 1.1.3. Thanks to Dependabot. |
| 93 | +o Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.2.1 #161, #194. Thanks to Dependabot. |
| 94 | + |
| 95 | +Removed |
| 96 | +------- |
| 97 | + |
| 98 | +o Remove obsolete Apache RAT file. Thanks to Gary Gregory. o Remove obsolete Apache Ant files. Thanks to Gary Gregory. o Remove obsolete src/conf/MANIFEST.MF file. Thanks to Gary Gregory. o Remove obsolete maven-surefire-plugin configuration. Configuration is done in the parent POM. Thanks to Gary Gregory. o Remove obsolete maven-assembly-plugin configuration. Configuration is done in the parent POM. Thanks to Gary Gregory. o Remove obsolete STATUS.html files. Thanks to Gary Gregory. o Remove unused package-private class org.apache.commons.jxpath.util.BasicTypeConverter.ValueNodeSet. Thanks to Gary Gregory. |
| 99 | +Historical list of changes: https://commons.apache.org/proper/commons-jxpath/changes.html |
| 100 | + |
| 101 | +For complete information on Apache Commons JXPath, including instructions on how to submit bug reports, |
| 102 | +patches, or suggestions for improvement, see the Apache Commons JXPath website: |
| 103 | + |
| 104 | +https://commons.apache.org/proper/commons-jxpath/ |
| 105 | + |
| 106 | +Download page: https://commons.apache.org/proper/commons-jxpath/download_io.cgi |
| 107 | + |
| 108 | +Have fun! |
| 109 | +-Apache Commons Team |
| 110 | + |
| 111 | +------------------------------------------------------------------------------ |
| 112 | + |
0 commit comments