Merge branch 'master' into pmd/7.0.x
This commit is contained in:
commit
bc660e8807
@ -2,7 +2,7 @@ repository: pmd/pmd
|
||||
|
||||
pmd:
|
||||
version: 7.0.0-SNAPSHOT
|
||||
previous_version: 6.24.0
|
||||
previous_version: 6.25.0
|
||||
date: ??-2020
|
||||
release_type: major
|
||||
|
||||
|
@ -125,6 +125,57 @@ the breaking API changes will be performed in 7.0.0.
|
||||
an API is tagged as `@Deprecated` or not in the latest minor release. During the development of 7.0.0,
|
||||
we may decide to remove some APIs that were not tagged as deprecated, though we'll try to avoid it." %}
|
||||
|
||||
#### 6.25.0
|
||||
|
||||
* The maven module `net.sourceforge.pmd:pmd-scala` is deprecated. Use `net.sourceforge.pmd:pmd-scala_2.13`
|
||||
or `net.sourceforge.pmd:pmd-scala_2.12` instead.
|
||||
|
||||
* Rule implementation classes are internal API and should not be used by clients directly.
|
||||
The rules should only be referenced via their entry in the corresponding category ruleset
|
||||
(e.g. `<rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod" />`).
|
||||
|
||||
While we definitely won't move or rename the rule classes in PMD 6.x, we might consider changes
|
||||
in PMD 7.0.0 and onwards.
|
||||
|
||||
##### Deprecated APIs
|
||||
|
||||
###### Internal API
|
||||
|
||||
Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
|
||||
You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
|
||||
|
||||
* {% jdoc java::lang.java.rule.AbstractIgnoredAnnotationRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractInefficientZeroCheck %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractJUnitRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractJavaMetricsRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractLombokAwareRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractPoorMethodCall %} (Java)
|
||||
* {% jdoc java::lang.java.rule.bestpractices.AbstractSunSecureRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.design.AbstractNcssCountRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.documentation.AbstractCommentRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.performance.AbstractOptimizationRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.regex.RegexHelper %} (Java)
|
||||
* {% jdoc apex::lang.apex.rule.AbstractApexUnitTestRule %} (Apex)
|
||||
* {% jdoc apex::lang.apex.rule.design.AbstractNcssCountRule %} (Apex)
|
||||
* {% jdoc plsql::lang.plsql.rule.design.AbstractNcssCountRule %} (PLSQL)
|
||||
* {% jdoc apex::lang.apex.ApexParser %}
|
||||
* {% jdoc apex::lang.apex.ApexHandler %}
|
||||
* {% jdoc core::RuleChain %}
|
||||
* {% jdoc core::RuleSets %}
|
||||
* {% jdoc !!core::RulesetsFactoryUtils#getRuleSets(java.lang.String, net.sourceforge.pmd.RuleSetFactory) %}
|
||||
|
||||
###### For removal
|
||||
|
||||
* {% jdoc !!core::cpd.TokenEntry#TokenEntry(java.lang.String, java.lang.String, int) %}
|
||||
* {% jdoc test::testframework.AbstractTokenizerTest %}. Use CpdTextComparisonTest in module pmd-lang-test instead.
|
||||
For details see
|
||||
[Testing your implementation](pmd_devdocs_major_adding_new_cpd_language.html#testing-your-implementation)
|
||||
in the developer documentation.
|
||||
* {% jdoc !!apex::lang.apex.ast.ASTAnnotation#suppresses(core::Rule) %} (Apex)
|
||||
* {% jdoc apex::lang.apex.rule.ApexXPathRule %} (Apex)
|
||||
* {% jdoc java::lang.java.rule.SymbolTableTestRule %} (Java)
|
||||
* {% jdoc !!java::lang.java.rule.performance.InefficientStringBufferingRule#isInStringBufferOperation(net.sourceforge.pmd.lang.ast.Node, int, java.lang.String) %}
|
||||
|
||||
#### 6.24.0
|
||||
|
||||
##### Deprecated APIs
|
||||
|
@ -19,154 +19,11 @@ This is a {{ site.pmd.release_type }} release.
|
||||
|
||||
### New and noteworthy
|
||||
|
||||
#### Scala cross compilation
|
||||
|
||||
Up until now the PMD Scala module has been compiled against scala 2.13 only by default.
|
||||
However, this makes it impossible to use pmd as a library in scala projects,
|
||||
that use scala 2.12, e.g. in sbt plugins. Therefore PMD now provides cross compiled pmd-scala
|
||||
modules for both versions: **scala 2.12** and **scala 2.13**.
|
||||
|
||||
The new modules have new maven artifactIds. The old artifactId `net.sourceforge.pmd:pmd-scala:{{ site.pmd.version }}`
|
||||
is still available, but is deprecated from now on. It has been demoted to be just a delegation to the new
|
||||
`pmd-scala_2.13` module and will be removed eventually.
|
||||
|
||||
The coordinates for the new modules are:
|
||||
|
||||
```
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-scala_2.12</artifactId>
|
||||
<version>{{ site.pmd.version }}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-scala_2.13</artifactId>
|
||||
<version>{{ site.pmd.version }}</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
The command line version of PMD continues to use **scala 2.13**.
|
||||
|
||||
#### New Rules
|
||||
|
||||
* The new Java Rule {% rule "java/codestyle/UnnecessaryCast" %} (`java-codestyle`)
|
||||
finds casts that are unnecessary while accessing collection elements.
|
||||
|
||||
* The new Java Rule {% rule "java/performance/AvoidCalendarDateCreation" %} (`java-performance`)
|
||||
finds usages of `java.util.Calendar` whose purpose is just to get the current date. This
|
||||
can be done in a more lightweight way.
|
||||
|
||||
* The new Java Rule {% rule "java/performance/UseIOStreamsWithApacheCommonsFileItem" %} (`java-performance`)
|
||||
finds usage of `FileItem.get()` and `FileItem.getString()`. These two methods are problematic since
|
||||
they load the whole uploaded file into memory.
|
||||
|
||||
#### Modified rules
|
||||
|
||||
* The Java rule {% rule "java/codestyle/UseDiamondOperator" %} (`java-codestyle`) now by default
|
||||
finds unnecessary usages of type parameters, which are nested, involve wildcards and are used
|
||||
within a ternary operator. These usages are usually only unnecessary with Java8 and later, when
|
||||
the type inference in Java has been improved.
|
||||
|
||||
In order to avoid false positives when checking Java7 only code, the rule has the new property
|
||||
`java7Compatibility`, which is disabled by default. Settings this to "true" retains
|
||||
the old rule behaviour.
|
||||
|
||||
### Fixed Issues
|
||||
|
||||
* apex-bestpractices
|
||||
* [#2554](https://github.com/pmd/pmd/issues/2554): \[apex] Exception applying rule UnusedLocalVariable on trigger
|
||||
* core
|
||||
* [#971](https://github.com/pmd/pmd/issues/971): \[apex]\[plsql]\[java] Deprecate overly specific base rule classes
|
||||
* [#2451](https://github.com/pmd/pmd/issues/2451): \[core] Deprecate support for List attributes with XPath 2.0
|
||||
* [#2599](https://github.com/pmd/pmd/pull/2599): \[core] Fix XPath 2.0 Rule Chain Analyzer with Unions
|
||||
* [#2483](https://github.com/pmd/pmd/issues/2483): \[lang-test] Support cpd tests based on text comparison.
|
||||
For details see
|
||||
[Testing your implementation](pmd_devdocs_major_adding_new_cpd_language.html#testing-your-implementation)
|
||||
in the developer documentation.
|
||||
* c#
|
||||
* [#2551](https://github.com/pmd/pmd/issues/2551): \[c#] CPD suppression with comments doesn't work
|
||||
* cpp
|
||||
* [#1757](https://github.com/pmd/pmd/issues/1757): \[cpp] Support unicode characters
|
||||
* java
|
||||
* [#2549](https://github.com/pmd/pmd/issues/2549): \[java] Auxclasspath in PMD CLI does not support relative file path
|
||||
* java-codestyle
|
||||
* [#2545](https://github.com/pmd/pmd/issues/2545): \[java] UseDiamondOperator false negatives
|
||||
* [#2573](https://github.com/pmd/pmd/pull/2573): \[java] DefaultPackage: Allow package default JUnit 5 Test methods
|
||||
* java-design
|
||||
* [#2563](https://github.com/pmd/pmd/pull/2563): \[java] UselessOverridingMethod false negative with already public methods
|
||||
* [#2570](https://github.com/pmd/pmd/issues/2570): \[java] NPathComplexity should mention the expected NPath complexity
|
||||
* java-errorprone
|
||||
* [#2544](https://github.com/pmd/pmd/issues/2544): \[java] UseProperClassLoader can not detect the case with method call on intermediate variable
|
||||
* java-performance
|
||||
* [#2591](https://github.com/pmd/pmd/pull/2591): \[java] InefficientStringBuffering/AppendCharacterWithChar: Fix false negatives with concats in appends
|
||||
* [#2600](https://github.com/pmd/pmd/pull/2600): \[java] UseStringBufferForStringAppends: fix false negative with fields
|
||||
* scala
|
||||
* [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13
|
||||
|
||||
|
||||
### API Changes
|
||||
|
||||
* The maven module `net.sourceforge.pmd:pmd-scala` is deprecated. Use `net.sourceforge.pmd:pmd-scala_2.13`
|
||||
or `net.sourceforge.pmd:pmd-scala_2.12` instead.
|
||||
|
||||
* Rule implementation classes are internal API and should not be used by clients directly.
|
||||
The rules should only be referenced via their entry in the corresponding category ruleset
|
||||
(e.g. `<rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod" />`).
|
||||
|
||||
While we definitely won't move or rename the rule classes in PMD 6.x, we might consider changes
|
||||
in PMD 7.0.0 and onwards.
|
||||
|
||||
#### Deprecated APIs
|
||||
|
||||
##### Internal API
|
||||
|
||||
Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
|
||||
You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
|
||||
|
||||
* {% jdoc java::lang.java.rule.AbstractIgnoredAnnotationRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractInefficientZeroCheck %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractJUnitRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractJavaMetricsRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractLombokAwareRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.AbstractPoorMethodCall %} (Java)
|
||||
* {% jdoc java::lang.java.rule.bestpractices.AbstractSunSecureRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.design.AbstractNcssCountRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.documentation.AbstractCommentRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.performance.AbstractOptimizationRule %} (Java)
|
||||
* {% jdoc java::lang.java.rule.regex.RegexHelper %} (Java)
|
||||
* {% jdoc apex::lang.apex.rule.AbstractApexUnitTestRule %} (Apex)
|
||||
* {% jdoc apex::lang.apex.rule.design.AbstractNcssCountRule %} (Apex)
|
||||
* {% jdoc plsql::lang.plsql.rule.design.AbstractNcssCountRule %} (PLSQL)
|
||||
|
||||
##### For removal
|
||||
|
||||
* {% jdoc !!core::cpd.TokenEntry#TokenEntry(java.lang.String, java.lang.String, int) %}
|
||||
* {% jdoc test::testframework.AbstractTokenizerTest %}. Use CpdTextComparisonTest in module pmd-lang-test instead.
|
||||
For details see
|
||||
[Testing your implementation](pmd_devdocs_major_adding_new_cpd_language.html#testing-your-implementation)
|
||||
in the developer documentation.
|
||||
* {% jdoc !!apex::lang.apex.ast.ASTAnnotation#suppresses(core::Rule) %} (Apex)
|
||||
* {% jdoc apex::lang.apex.rule.ApexXPathRule %} (Apex)
|
||||
* {% jdoc java::lang.java.rule.SymbolTableTestRule %} (Java)
|
||||
* {% jdoc !!java::lang.java.rule.performance.InefficientStringBufferingRule#isInStringBufferOperation(net.sourceforge.pmd.lang.ast.Node, int, java.lang.String) %}
|
||||
|
||||
#### Internal API
|
||||
|
||||
* {% jdoc apex::lang.apex.ApexParser %}
|
||||
* {% jdoc apex::lang.apex.ApexHandler %}
|
||||
* {% jdoc core::RuleChain %}
|
||||
* {% jdoc core::RuleSets %}
|
||||
* {% jdoc !!core::RulesetsFactoryUtils#getRuleSets(java.lang.String, net.sourceforge.pmd.RuleSetFactory) %}
|
||||
|
||||
### External Contributions
|
||||
|
||||
* [#1932](https://github.com/pmd/pmd/pull/1932): \[java] Added 4 performance rules originating from PMD-jPinpoint-rules - [Jeroen Borgers](https://github.com/jborgers)
|
||||
* [#2349](https://github.com/pmd/pmd/pull/2349): \[java] Optimize UnusedPrivateMethodRule - [shilko2013](https://github.com/shilko2013)
|
||||
* [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13 - [João Ferreira](https://github.com/jtjeferreira)
|
||||
* [#2567](https://github.com/pmd/pmd/pull/2567): \[c#] Fix CPD suppression with comments doesn't work - [Lixon Lookose](https://github.com/LixonLookose)
|
||||
* [#2573](https://github.com/pmd/pmd/pull/2573): \[java] DefaultPackage: Allow package default JUnit 5 Test methods - [Craig Andrews](https://github.com/candrews)
|
||||
* [#2593](https://github.com/pmd/pmd/pull/2593): \[java] NPathComplexity should mention the expected NPath complexity - [Artem Krosheninnikov](https://github.com/KroArtem)
|
||||
|
||||
{% endtocmaker %}
|
||||
|
||||
|
@ -5,6 +5,179 @@ permalink: pmd_release_notes_old.html
|
||||
|
||||
Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases
|
||||
|
||||
## 27-June-2020 - 6.25.0
|
||||
|
||||
The PMD team is pleased to announce PMD 6.25.0.
|
||||
|
||||
This is a minor release.
|
||||
|
||||
### Table Of Contents
|
||||
|
||||
* [New and noteworthy](#new-and-noteworthy)
|
||||
* [Scala cross compilation](#scala-cross-compilation)
|
||||
* [New Rules](#new-rules)
|
||||
* [Modified rules](#modified-rules)
|
||||
* [Fixed Issues](#fixed-issues)
|
||||
* [API Changes](#api-changes)
|
||||
* [Deprecated APIs](#deprecated-apis)
|
||||
* [Internal API](#internal-api)
|
||||
* [For removal](#for-removal)
|
||||
* [External Contributions](#external-contributions)
|
||||
* [Stats](#stats)
|
||||
|
||||
### New and noteworthy
|
||||
|
||||
#### Scala cross compilation
|
||||
|
||||
Up until now the PMD Scala module has been compiled against scala 2.13 only by default.
|
||||
However, this makes it impossible to use pmd as a library in scala projects,
|
||||
that use scala 2.12, e.g. in sbt plugins. Therefore PMD now provides cross compiled pmd-scala
|
||||
modules for both versions: **scala 2.12** and **scala 2.13**.
|
||||
|
||||
The new modules have new maven artifactIds. The old artifactId `net.sourceforge.pmd:pmd-scala:6.25.0`
|
||||
is still available, but is deprecated from now on. It has been demoted to be just a delegation to the new
|
||||
`pmd-scala_2.13` module and will be removed eventually.
|
||||
|
||||
The coordinates for the new modules are:
|
||||
|
||||
```
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-scala_2.12</artifactId>
|
||||
<version>6.25.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-scala_2.13</artifactId>
|
||||
<version>6.25.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
The command line version of PMD continues to use **scala 2.13**.
|
||||
|
||||
#### New Rules
|
||||
|
||||
* The new Java Rule [`UnnecessaryCast`](https://pmd.github.io/pmd-6.25.0/pmd_rules_java_codestyle.html#unnecessarycast) (`java-codestyle`)
|
||||
finds casts that are unnecessary while accessing collection elements.
|
||||
|
||||
* The new Java Rule [`AvoidCalendarDateCreation`](https://pmd.github.io/pmd-6.25.0/pmd_rules_java_performance.html#avoidcalendardatecreation) (`java-performance`)
|
||||
finds usages of `java.util.Calendar` whose purpose is just to get the current date. This
|
||||
can be done in a more lightweight way.
|
||||
|
||||
* The new Java Rule [`UseIOStreamsWithApacheCommonsFileItem`](https://pmd.github.io/pmd-6.25.0/pmd_rules_java_performance.html#useiostreamswithapachecommonsfileitem) (`java-performance`)
|
||||
finds usage of `FileItem.get()` and `FileItem.getString()`. These two methods are problematic since
|
||||
they load the whole uploaded file into memory.
|
||||
|
||||
#### Modified rules
|
||||
|
||||
* The Java rule [`UseDiamondOperator`](https://pmd.github.io/pmd-6.25.0/pmd_rules_java_codestyle.html#usediamondoperator) (`java-codestyle`) now by default
|
||||
finds unnecessary usages of type parameters, which are nested, involve wildcards and are used
|
||||
within a ternary operator. These usages are usually only unnecessary with Java8 and later, when
|
||||
the type inference in Java has been improved.
|
||||
|
||||
In order to avoid false positives when checking Java7 only code, the rule has the new property
|
||||
`java7Compatibility`, which is disabled by default. Settings this to "true" retains
|
||||
the old rule behaviour.
|
||||
|
||||
### Fixed Issues
|
||||
|
||||
* apex-bestpractices
|
||||
* [#2554](https://github.com/pmd/pmd/issues/2554): \[apex] Exception applying rule UnusedLocalVariable on trigger
|
||||
* core
|
||||
* [#971](https://github.com/pmd/pmd/issues/971): \[apex]\[plsql]\[java] Deprecate overly specific base rule classes
|
||||
* [#2451](https://github.com/pmd/pmd/issues/2451): \[core] Deprecate support for List attributes with XPath 2.0
|
||||
* [#2599](https://github.com/pmd/pmd/pull/2599): \[core] Fix XPath 2.0 Rule Chain Analyzer with Unions
|
||||
* [#2483](https://github.com/pmd/pmd/issues/2483): \[lang-test] Support cpd tests based on text comparison.
|
||||
For details see
|
||||
[Testing your implementation](pmd_devdocs_major_adding_new_cpd_language.html#testing-your-implementation)
|
||||
in the developer documentation.
|
||||
* c#
|
||||
* [#2551](https://github.com/pmd/pmd/issues/2551): \[c#] CPD suppression with comments doesn't work
|
||||
* cpp
|
||||
* [#1757](https://github.com/pmd/pmd/issues/1757): \[cpp] Support unicode characters
|
||||
* java
|
||||
* [#2549](https://github.com/pmd/pmd/issues/2549): \[java] Auxclasspath in PMD CLI does not support relative file path
|
||||
* java-codestyle
|
||||
* [#2545](https://github.com/pmd/pmd/issues/2545): \[java] UseDiamondOperator false negatives
|
||||
* [#2573](https://github.com/pmd/pmd/pull/2573): \[java] DefaultPackage: Allow package default JUnit 5 Test methods
|
||||
* java-design
|
||||
* [#2563](https://github.com/pmd/pmd/pull/2563): \[java] UselessOverridingMethod false negative with already public methods
|
||||
* [#2570](https://github.com/pmd/pmd/issues/2570): \[java] NPathComplexity should mention the expected NPath complexity
|
||||
* java-errorprone
|
||||
* [#2544](https://github.com/pmd/pmd/issues/2544): \[java] UseProperClassLoader can not detect the case with method call on intermediate variable
|
||||
* java-performance
|
||||
* [#2591](https://github.com/pmd/pmd/pull/2591): \[java] InefficientStringBuffering/AppendCharacterWithChar: Fix false negatives with concats in appends
|
||||
* [#2600](https://github.com/pmd/pmd/pull/2600): \[java] UseStringBufferForStringAppends: fix false negative with fields
|
||||
* scala
|
||||
* [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13
|
||||
|
||||
|
||||
### API Changes
|
||||
|
||||
* The maven module `net.sourceforge.pmd:pmd-scala` is deprecated. Use `net.sourceforge.pmd:pmd-scala_2.13`
|
||||
or `net.sourceforge.pmd:pmd-scala_2.12` instead.
|
||||
|
||||
* Rule implementation classes are internal API and should not be used by clients directly.
|
||||
The rules should only be referenced via their entry in the corresponding category ruleset
|
||||
(e.g. `<rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod" />`).
|
||||
|
||||
While we definitely won't move or rename the rule classes in PMD 6.x, we might consider changes
|
||||
in PMD 7.0.0 and onwards.
|
||||
|
||||
#### Deprecated APIs
|
||||
|
||||
##### Internal API
|
||||
|
||||
Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
|
||||
You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
|
||||
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractIgnoredAnnotationRule.html#"><code>AbstractIgnoredAnnotationRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractInefficientZeroCheck.html#"><code>AbstractInefficientZeroCheck</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractJUnitRule.html#"><code>AbstractJUnitRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractJavaMetricsRule.html#"><code>AbstractJavaMetricsRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractLombokAwareRule.html#"><code>AbstractLombokAwareRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/AbstractPoorMethodCall.html#"><code>AbstractPoorMethodCall</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/bestpractices/AbstractSunSecureRule.html#"><code>AbstractSunSecureRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/design/AbstractNcssCountRule.html#"><code>AbstractNcssCountRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/documentation/AbstractCommentRule.html#"><code>AbstractCommentRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/performance/AbstractOptimizationRule.html#"><code>AbstractOptimizationRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/regex/RegexHelper.html#"><code>RegexHelper</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/rule/AbstractApexUnitTestRule.html#"><code>AbstractApexUnitTestRule</code></a> (Apex)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/rule/design/AbstractNcssCountRule.html#"><code>AbstractNcssCountRule</code></a> (Apex)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-plsql/6.25.0/net/sourceforge/pmd/lang/plsql/rule/design/AbstractNcssCountRule.html#"><code>AbstractNcssCountRule</code></a> (PLSQL)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/ApexParser.html#"><code>ApexParser</code></a>
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/ApexHandler.html#"><code>ApexHandler</code></a>
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-core/6.25.0/net/sourceforge/pmd/RuleChain.html#"><code>RuleChain</code></a>
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-core/6.25.0/net/sourceforge/pmd/RuleSets.html#"><code>RuleSets</code></a>
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-core/6.25.0/net/sourceforge/pmd/RulesetsFactoryUtils.html#getRuleSets(java.lang.String,net.sourceforge.pmd.RuleSetFactory)"><code>RulesetsFactoryUtils#getRuleSets</code></a>
|
||||
|
||||
##### For removal
|
||||
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-core/6.25.0/net/sourceforge/pmd/cpd/TokenEntry.html#TokenEntry(java.lang.String,java.lang.String,int)"><code>TokenEntry#TokenEntry</code></a>
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-test/6.25.0/net/sourceforge/pmd/testframework/AbstractTokenizerTest.html#"><code>AbstractTokenizerTest</code></a>. Use CpdTextComparisonTest in module pmd-lang-test instead.
|
||||
For details see
|
||||
[Testing your implementation](pmd_devdocs_major_adding_new_cpd_language.html#testing-your-implementation)
|
||||
in the developer documentation.
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/ast/ASTAnnotation.html#suppresses(net.sourceforge.pmd.Rule)"><code>ASTAnnotation#suppresses</code></a> (Apex)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-apex/6.25.0/net/sourceforge/pmd/lang/apex/rule/ApexXPathRule.html#"><code>ApexXPathRule</code></a> (Apex)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/SymbolTableTestRule.html#"><code>SymbolTableTestRule</code></a> (Java)
|
||||
* <a href="https://docs.pmd-code.org/apidocs/pmd-java/6.25.0/net/sourceforge/pmd/lang/java/rule/performance/InefficientStringBufferingRule.html#isInStringBufferOperation(net.sourceforge.pmd.lang.ast.Node,int,java.lang.String)"><code>InefficientStringBufferingRule#isInStringBufferOperation</code></a>
|
||||
|
||||
### External Contributions
|
||||
|
||||
* [#1932](https://github.com/pmd/pmd/pull/1932): \[java] Added 4 performance rules originating from PMD-jPinpoint-rules - [Jeroen Borgers](https://github.com/jborgers)
|
||||
* [#2349](https://github.com/pmd/pmd/pull/2349): \[java] Optimize UnusedPrivateMethodRule - [shilko2013](https://github.com/shilko2013)
|
||||
* [#2547](https://github.com/pmd/pmd/pull/2547): \[scala] Add cross compilation for scala 2.12 and 2.13 - [João Ferreira](https://github.com/jtjeferreira)
|
||||
* [#2567](https://github.com/pmd/pmd/pull/2567): \[c#] Fix CPD suppression with comments doesn't work - [Lixon Lookose](https://github.com/LixonLookose)
|
||||
* [#2573](https://github.com/pmd/pmd/pull/2573): \[java] DefaultPackage: Allow package default JUnit 5 Test methods - [Craig Andrews](https://github.com/candrews)
|
||||
* [#2593](https://github.com/pmd/pmd/pull/2593): \[java] NPathComplexity should mention the expected NPath complexity - [Artem Krosheninnikov](https://github.com/KroArtem)
|
||||
|
||||
### Stats
|
||||
* 135 commits
|
||||
* 31 closed tickets & PRs
|
||||
* Days since last release: 33
|
||||
|
||||
## 24-May-2020 - 6.24.0
|
||||
|
||||
The PMD team is pleased to announce PMD 6.24.0.
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>PMD Scala Common Source and Settings</name>
|
||||
<artifactId>pmd-scala-common</artifactId>
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>PMD Scala for Scala 2.12</name>
|
||||
<artifactId>pmd-scala_2.12</artifactId>
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>PMD Scala for Scala 2.13</name>
|
||||
<artifactId>pmd-scala_2.13</artifactId>
|
||||
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>pmd-scala</artifactId>
|
||||
<name>PMD Scala - Transitional package (deprecated)</name>
|
||||
|
8
pom.xml
8
pom.xml
@ -76,7 +76,7 @@
|
||||
</issueManagement>
|
||||
|
||||
<properties>
|
||||
<project.build.outputTimestamp>2020-05-24T15:34:33Z</project.build.outputTimestamp>
|
||||
<project.build.outputTimestamp>2020-06-27T09:31:26Z</project.build.outputTimestamp>
|
||||
|
||||
<java.version>8</java.version>
|
||||
|
||||
@ -104,7 +104,7 @@
|
||||
|
||||
<argLine>-Xmx512m -Dfile.encoding=${project.build.sourceEncoding}</argLine>
|
||||
|
||||
<pmd.build-tools.version>6</pmd.build-tools.version>
|
||||
<pmd.build-tools.version>7</pmd.build-tools.version>
|
||||
|
||||
<pmd-designer.version>6.24.0</pmd-designer.version>
|
||||
<javacc.jar>${settings.localRepository}/net/java/dev/javacc/javacc/${javacc.version}/javacc-${javacc.version}.jar</javacc.jar>
|
||||
@ -380,12 +380,12 @@
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-core</artifactId>
|
||||
<version>6.23.0</version>
|
||||
<version>6.25.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sourceforge.pmd</groupId>
|
||||
<artifactId>pmd-java</artifactId>
|
||||
<version>6.23.0</version>
|
||||
<version>6.25.0</version>
|
||||
</dependency>
|
||||
<!-- This contains the dogfood ruleset -->
|
||||
<dependency>
|
||||
|
Loading…
x
Reference in New Issue
Block a user