diff --git a/404.html b/404.html index e3dd584fa4..dc88b66305 100644 --- a/404.html +++ b/404.html @@ -1422,7 +1422,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
doTest
Signature<N>
diff --git a/pmd_devdocs_roadmap.html b/pmd_devdocs_roadmap.html
index 33f8e55681..e76567a31e 100644
--- a/pmd_devdocs_roadmap.html
+++ b/pmd_devdocs_roadmap.html
@@ -1565,7 +1565,7 @@ This should be configurable on per Rule basis similar to TR and SymbolTable.
diff --git a/pmd_devdocs_rule_deprecation_policy.html b/pmd_devdocs_rule_deprecation_policy.html
index d441cfc47f..5f8964a5d8 100644
--- a/pmd_devdocs_rule_deprecation_policy.html
+++ b/pmd_devdocs_rule_deprecation_policy.html
@@ -1534,7 +1534,7 @@ major release of PMD.
diff --git a/pmd_devdocs_writing_documentation.html b/pmd_devdocs_writing_documentation.html
index dca6a8a481..5d9f62db82 100644
--- a/pmd_devdocs_writing_documentation.html
+++ b/pmd_devdocs_writing_documentation.html
@@ -1681,7 +1681,7 @@ by specifying
-Dpmd.doc.check
diff --git a/pmd_java_metrics_index.html b/pmd_java_metrics_index.html
index 92fb9966e8..39502f138b 100644
--- a/pmd_java_metrics_index.html
+++ b/pmd_java_metrics_index.html
@@ -1775,7 +1775,7 @@ In Proceedings ACM Symposium on Software Reusability, 1995.
diff --git a/pmd_languages_jsp.html b/pmd_languages_jsp.html
index c29865036d..301fa49c0f 100644
--- a/pmd_languages_jsp.html
+++ b/pmd_languages_jsp.html
@@ -1475,7 +1475,7 @@ contains only “.java” files, JSP files obviously will not be checked.
diff --git a/pmd_next_major_development.html b/pmd_next_major_development.html
index 3676104f04..517cba7540 100644
--- a/pmd_next_major_development.html
+++ b/pmd_next_major_development.html
@@ -2794,7 +2794,7 @@ which was introduced in PMD 6.26.0.
diff --git a/pmd_projectdocs_committers_main_landing_page.html b/pmd_projectdocs_committers_main_landing_page.html
index 18b56efe30..df93138c2c 100644
--- a/pmd_projectdocs_committers_main_landing_page.html
+++ b/pmd_projectdocs_committers_main_landing_page.html
@@ -1514,7 +1514,7 @@ the new post is recognized and added to the news section and also on the news su
diff --git a/pmd_projectdocs_committers_merging_pull_requests.html b/pmd_projectdocs_committers_merging_pull_requests.html
index 3a1909c81a..3f34d75f07 100644
--- a/pmd_projectdocs_committers_merging_pull_requests.html
+++ b/pmd_projectdocs_committers_merging_pull_requests.html
@@ -1593,7 +1593,7 @@ integrated (e.g. gitk and github show the branches, from which the specific comm
diff --git a/pmd_projectdocs_committers_releasing.html b/pmd_projectdocs_committers_releasing.html
index 45169f07d5..9aa0be0f56 100644
--- a/pmd_projectdocs_committers_releasing.html
+++ b/pmd_projectdocs_committers_releasing.html
@@ -1660,7 +1660,7 @@ and
mvn versions:set -DnewVer
diff --git a/pmd_projectdocs_credits.html b/pmd_projectdocs_credits.html
index c1f7f6d488..eaaaff3242 100644
--- a/pmd_projectdocs_credits.html
+++ b/pmd_projectdocs_credits.html
@@ -1936,7 +1936,7 @@ PMD scoreboard formulas, pmd-dcpd optimizations
diff --git a/pmd_projectdocs_faq.html b/pmd_projectdocs_faq.html
index 89732d1b9d..3d36d1cfa3 100644
--- a/pmd_projectdocs_faq.html
+++ b/pmd_projectdocs_faq.html
@@ -1469,7 +1469,7 @@ You must take this into account for certain rules.
diff --git a/pmd_projectdocs_trivia_meaning.html b/pmd_projectdocs_trivia_meaning.html
index 119c8c780f..70aa485d1d 100644
--- a/pmd_projectdocs_trivia_meaning.html
+++ b/pmd_projectdocs_trivia_meaning.html
@@ -1438,7 +1438,7 @@ really know. We just think the letters sound good together.
diff --git a/pmd_projectdocs_trivia_news.html b/pmd_projectdocs_trivia_news.html
index 8590d3448c..3cb27c9735 100644
--- a/pmd_projectdocs_trivia_news.html
+++ b/pmd_projectdocs_trivia_news.html
@@ -1555,7 +1555,7 @@ interview with Ole-Martin and Tom
diff --git a/pmd_projectdocs_trivia_products.html b/pmd_projectdocs_trivia_products.html
index a169d3e348..bade27a3db 100644
--- a/pmd_projectdocs_trivia_products.html
+++ b/pmd_projectdocs_trivia_products.html
@@ -1486,7 +1486,7 @@ to catch web app security problems. Thanks to Joseph Hemler for the props!
diff --git a/pmd_projectdocs_trivia_similarprojects.html b/pmd_projectdocs_trivia_similarprojects.html
index a1eaa12c05..c4bb6934ff 100644
--- a/pmd_projectdocs_trivia_similarprojects.html
+++ b/pmd_projectdocs_trivia_similarprojects.html
@@ -1493,7 +1493,7 @@ only for maven project.
diff --git a/pmd_release_notes.html b/pmd_release_notes.html
index 0a53462c31..74d22bd780 100644
--- a/pmd_release_notes.html
+++ b/pmd_release_notes.html
@@ -1433,6 +1433,19 @@ when using
<style>
+Deprecated rules
+
+
+ - java-performance
+
+ AvoidUsingShortType
: arithmetic on shorts is not significantly
+slower than on ints, whereas using shorts may provide significant memory savings in arrays.
+ SimplifyStartsWith
: the suggested code transformation has an
+insignificant performance impact, and decreases readability.
+
+
+
+
Fixed Issues
@@ -1448,6 +1461,7 @@ when using <style>#2454: [java] UnusedPrivateMethod violation for disabled class in 6.23.0
- #2833: [java] NPE in UseCollectionIsEmptyRule with enums
- #2876: [java] UnusedPrivateField cannot override ignored annotations property
+ - #2957: [java] Ignore unused declarations that have special name
java-codestyle
@@ -1455,6 +1469,11 @@ when using <style>#2960: [java] Thread issue in MethodNamingConventionsRule
+ java-design
+
+ - #3006: [java] NPE in SingularFieldRule with concise resource syntax
+
+
java-errorprone
+ java-performance
+
+
API Changes
+Deprecated API
+
+
+ AbstractDomXmlRule
+ AbstractWsdlRule
+ - A few methods of
AbstractXmlRule
+
+
Experimental APIs
@@ -1508,7 +1541,7 @@ of the language is changed.
diff --git a/pmd_release_notes_old.html b/pmd_release_notes_old.html
index f14b24d5f3..2687d2fc71 100644
--- a/pmd_release_notes_old.html
+++ b/pmd_release_notes_old.html
@@ -13178,7 +13178,7 @@ Added new HTML report format
diff --git a/pmd_rules_apex.html b/pmd_rules_apex.html
index aca91d3f3a..af5becafc9 100644
--- a/pmd_rules_apex.html
+++ b/pmd_rules_apex.html
@@ -1636,7 +1636,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_bestpractices.html b/pmd_rules_apex_bestpractices.html
index e3b98981d9..bdcecb3d3d 100644
--- a/pmd_rules_apex_bestpractices.html
+++ b/pmd_rules_apex_bestpractices.html
@@ -1934,7 +1934,7 @@ Therefore delegate the triggers work to a regular class (often called Trigger ha
diff --git a/pmd_rules_apex_codestyle.html b/pmd_rules_apex_codestyle.html
index 101ce94209..676ad53405 100644
--- a/pmd_rules_apex_codestyle.html
+++ b/pmd_rules_apex_codestyle.html
@@ -2507,7 +2507,7 @@ controlled from the rest.
diff --git a/pmd_rules_apex_design.html b/pmd_rules_apex_design.html
index 790a371729..6d1ea660ab 100644
--- a/pmd_rules_apex_design.html
+++ b/pmd_rules_apex_design.html
@@ -2464,7 +2464,7 @@ city/state/zip fields could park them within a single Address field.
diff --git a/pmd_rules_apex_documentation.html b/pmd_rules_apex_documentation.html
index 712d9ef6f8..edb7c5a6f9 100644
--- a/pmd_rules_apex_documentation.html
+++ b/pmd_rules_apex_documentation.html
@@ -1495,7 +1495,7 @@ order as the method signature.
diff --git a/pmd_rules_apex_errorprone.html b/pmd_rules_apex_errorprone.html
index 948400180d..692d4f7c28 100644
--- a/pmd_rules_apex_errorprone.html
+++ b/pmd_rules_apex_errorprone.html
@@ -2221,7 +2221,7 @@ dealing with legacy code.
diff --git a/pmd_rules_apex_performance.html b/pmd_rules_apex_performance.html
index 71bdd304e1..79833b9543 100644
--- a/pmd_rules_apex_performance.html
+++ b/pmd_rules_apex_performance.html
@@ -1691,7 +1691,7 @@ by the more general rule
diff --git a/pmd_rules_apex_security.html b/pmd_rules_apex_security.html
index 452f7088d1..5e272413ff 100644
--- a/pmd_rules_apex_security.html
+++ b/pmd_rules_apex_security.html
@@ -2105,7 +2105,7 @@ to avoid XSS attacks.
diff --git a/pmd_rules_ecmascript.html b/pmd_rules_ecmascript.html
index a843b2d109..4c737e0d94 100644
--- a/pmd_rules_ecmascript.html
+++ b/pmd_rules_ecmascript.html
@@ -1511,7 +1511,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_ecmascript_bestpractices.html b/pmd_rules_ecmascript_bestpractices.html
index ccc1778e75..04debb9228 100644
--- a/pmd_rules_ecmascript_bestpractices.html
+++ b/pmd_rules_ecmascript_bestpractices.html
@@ -1633,7 +1633,7 @@ It also improves readability, if the base is given.
diff --git a/pmd_rules_ecmascript_codestyle.html b/pmd_rules_ecmascript_codestyle.html
index 016bd743ac..9d13f671d2 100644
--- a/pmd_rules_ecmascript_codestyle.html
+++ b/pmd_rules_ecmascript_codestyle.html
@@ -1775,7 +1775,7 @@ will never execute. This is a bug, or extremely poor style.
diff --git a/pmd_rules_ecmascript_errorprone.html b/pmd_rules_ecmascript_errorprone.html
index 0ebf0648cb..58ef2447b5 100644
--- a/pmd_rules_ecmascript_errorprone.html
+++ b/pmd_rules_ecmascript_errorprone.html
@@ -1556,7 +1556,7 @@ precision in a floating point number. This may result in numeric calculations b
diff --git a/pmd_rules_java.html b/pmd_rules_java.html
index 417e1e3aeb..e31767e0b5 100644
--- a/pmd_rules_java.html
+++ b/pmd_rules_java.html
@@ -1451,9 +1451,9 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- SwitchStmtsShouldHaveDefault: All switch statements should include a default option to catch any unspecified values.
- SystemPrintln: References to System.(out|err).print are usually intended for debugging purposes and can remain …
- UnusedAssignment: Reports assignments to variables that are never used before the variable is overwritten, …
- - UnusedFormalParameter: Avoid passing parameters to methods or constructors without actually referencing them in the meth…
+ - UnusedFormalParameter: Reports parameters of methods and constructors that are not referenced them in the method body. P…
- UnusedImports: Avoid unused import statements to prevent unwanted dependencies. This rule will also find unused …
- - UnusedLocalVariable: Detects when a local variable is declared and/or assigned, but not used.
+ - UnusedLocalVariable: Detects when a local variable is declared and/or assigned, but not used. Variables whose name sta…
- UnusedPrivateField: Detects when a private field is declared and/or assigned a value, but not used.
- UnusedPrivateMethod: Unused Private Method detects when a private method is declared but is unused.
- UseAssertEqualsInsteadOfAssertTrue: This rule detects JUnit assertions in object equality. These assertions should be made by more sp…
@@ -1735,7 +1735,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- AvoidCalendarDateCreation: Problem: A Calendar is a heavyweight object and expensive to create. Solution: Use ‘new Date()’, …
- AvoidFileStream: The FileInputStream and FileOutputStream classes contains a finalizer method which will cause gar…
- AvoidInstantiatingObjectsInLoops: New objects created within loops should be checked to see if they can created outside them and re…
- - AvoidUsingShortType: Java uses the ‘short’ type to reduce memory usage, not to optimize calculation. In fact, the JVM …
+ - AvoidUsingShortType: Deprecated Note: this rule is deprecated, as its rationale does not hold. Java uses the ‘short’ type to redu…
- BigIntegerInstantiation: Don’t create instances of already existing BigInteger (BigInteger.ZERO, BigInteger.ONE) and for J…
- BooleanInstantiation: Avoid instantiating Boolean objects; you can reference Boolean.TRUE, Boolean.FALSE, or call Boole…
- ByteInstantiation: Calling new Byte() causes memory allocation that can be avoided by the static Byte.valueOf(). It …
@@ -1749,7 +1749,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- OptimizableToArrayCall: Calls to a collection’s ‘toArray(E[])’ method should specify a target array of zero size. This al…
- RedundantFieldInitializer: Java will initialize fields with known default values so any explicit initialization of those sam…
- ShortInstantiation: Calling new Short() causes memory allocation that can be avoided by the static Short.valueOf(). I…
- - SimplifyStartsWith: Calls to ‘string.startsWith("x")’ with a string literal of length 1 can be rewritten using ‘strin…
+ - SimplifyStartsWith: Deprecated Note: this rule is deprecated for removal, as the optimization is insignificant. Calls to ‘string…
- StringInstantiation: Avoid instantiating String objects; this is usually unnecessary since they are immutable and can …
- StringToString: Avoid calling toString() on objects already known to be string instances; this is unnecessary.
- TooFewBranchesForASwitchStatement: Switch statements are intended to be used to support complex branching behaviour. Using a switch …
@@ -2073,7 +2073,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_java_bestpractices.html b/pmd_rules_java_bestpractices.html
index b0254706eb..c711dfccbc 100644
--- a/pmd_rules_java_bestpractices.html
+++ b/pmd_rules_java_bestpractices.html
@@ -2973,7 +2973,7 @@ or static fields of the current class in static initializers.
The rule subsumes UnusedLocalVariable
, and UnusedFormalParameter
.
Those violations are filtered
out by default, in case you already have enabled those rules, but may be enabled with the property
-reportUnusedVariables
. Variables whose name starts with ignored
are filtered out, as
+reportUnusedVariables
. Variables whose name starts with ignored
or unused
are filtered out, as
is standard practice for exceptions.
Limitations:
@@ -3118,8 +3118,10 @@ things like assert
sta
Priority: Medium (3)
-Avoid passing parameters to methods or constructors without actually referencing them in the method body.
-Removing unused formal parameters from public methods could cause a ripple effect through the code base.
+
Reports parameters of methods and constructors that are not referenced them in the method body.
+Parameters whose name starts with ignored
or unused
are filtered out.
+
+Removing unused formal parameters from public methods could cause a ripple effect through the code base.
Hence, by default, this rule only considers private methods. To include non-private methods, set the
checkAll
property to true
.
@@ -3196,7 +3198,8 @@ This rule will also find unused on demand imports, i.e. import com.foo.*.
Priority: Medium (3)
-Detects when a local variable is declared and/or assigned, but not used.
+Detects when a local variable is declared and/or assigned, but not used.
+Variables whose name starts with ignored
or unused
are filtered out.
This rule is defined by the following Java class: net.sourceforge.pmd.lang.java.rule.bestpractices.UnusedLocalVariableRule
@@ -3713,7 +3716,7 @@ a block {}
is sufficie
diff --git a/pmd_rules_java_codestyle.html b/pmd_rules_java_codestyle.html
index 3d4f7412b4..02c0af66f9 100644
--- a/pmd_rules_java_codestyle.html
+++ b/pmd_rules_java_codestyle.html
@@ -4636,7 +4636,7 @@ by the rule
diff --git a/pmd_rules_java_documentation.html b/pmd_rules_java_documentation.html
index 03d7f2485b..26eeb0d783 100644
--- a/pmd_rules_java_documentation.html
+++ b/pmd_rules_java_documentation.html
@@ -1745,7 +1745,7 @@ empty methods.
diff --git a/pmd_rules_java_errorprone.html b/pmd_rules_java_errorprone.html
index 92f5620fa9..e97c2e0836 100644
--- a/pmd_rules_java_errorprone.html
+++ b/pmd_rules_java_errorprone.html
@@ -5198,7 +5198,7 @@ Thread.currentThread().getContextClassLoader() instead.
diff --git a/pmd_rules_java_multithreading.html b/pmd_rules_java_multithreading.html
index e449add085..3726a971f3 100644
--- a/pmd_rules_java_multithreading.html
+++ b/pmd_rules_java_multithreading.html
@@ -1931,7 +1931,7 @@ one is chosen. The thread chosen is arbitrary; thus its usually safer to call n
diff --git a/pmd_rules_java_performance.html b/pmd_rules_java_performance.html
index bce6c18e63..ad6a7d0dc7 100644
--- a/pmd_rules_java_performance.html
+++ b/pmd_rules_java_performance.html
@@ -1652,10 +1652,14 @@ that one covers both.
AvoidUsingShortType
+Deprecated
+
Since: PMD 4.1
Priority: High (1)
+Note: this rule is deprecated, as its rationale does not hold.
+
Java uses the ‘short’ type to reduce memory usage, not to optimize calculation. In fact, the JVM does not have any
arithmetic capabilities for the short type: the JVM must convert the short into an int, do the proper calculation
and convert the int back to a short. Thus any storage gains found through use of the ‘short’ type may be offset by
@@ -2110,10 +2114,14 @@ Note that new Short() is deprecated since JDK 9 for that reason.
SimplifyStartsWith
+Deprecated
+
Since: PMD 3.1
Priority: Medium (3)
+Note: this rule is deprecated for removal, as the optimization is insignificant.
+
Calls to string.startsWith("x")
with a string literal of length 1 can be rewritten using string.charAt(0)
,
at the expense of some readability. To prevent IndexOutOfBoundsException
being thrown by the charAt
method,
ensure that the string is not empty by making an additional check first.
@@ -2551,7 +2559,7 @@ or StringBuffer.toString().length() == …
diff --git a/pmd_rules_java_security.html b/pmd_rules_java_security.html
index 359abe8611..773eff5ca8 100644
--- a/pmd_rules_java_security.html
+++ b/pmd_rules_java_security.html
@@ -1482,7 +1482,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp.html b/pmd_rules_jsp.html
index f80bc35270..76511863f4 100644
--- a/pmd_rules_jsp.html
+++ b/pmd_rules_jsp.html
@@ -1493,7 +1493,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_bestpractices.html b/pmd_rules_jsp_bestpractices.html
index 0112e644dd..2cbc5d4c09 100644
--- a/pmd_rules_jsp_bestpractices.html
+++ b/pmd_rules_jsp_bestpractices.html
@@ -1524,7 +1524,7 @@ little other purpose. Consider switching to JSP comments.
diff --git a/pmd_rules_jsp_codestyle.html b/pmd_rules_jsp_codestyle.html
index f46b22a2b8..56f32419dc 100644
--- a/pmd_rules_jsp_codestyle.html
+++ b/pmd_rules_jsp_codestyle.html
@@ -1441,7 +1441,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_design.html b/pmd_rules_jsp_design.html
index ff291231ba..dfeee58a50 100644
--- a/pmd_rules_jsp_design.html
+++ b/pmd_rules_jsp_design.html
@@ -1532,7 +1532,7 @@ onload=calcDays;
diff --git a/pmd_rules_jsp_errorprone.html b/pmd_rules_jsp_errorprone.html
index a2c2dd5a81..dce4093556 100644
--- a/pmd_rules_jsp_errorprone.html
+++ b/pmd_rules_jsp_errorprone.html
@@ -1453,7 +1453,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_security.html b/pmd_rules_jsp_security.html
index 7da52807a0..7337d28274 100644
--- a/pmd_rules_jsp_security.html
+++ b/pmd_rules_jsp_security.html
@@ -1474,7 +1474,7 @@ ${fn:escapeXml(expression)}
<!-- instead, escape it --&g
diff --git a/pmd_rules_modelica.html b/pmd_rules_modelica.html
index 4a9d63b912..369c6a6717 100644
--- a/pmd_rules_modelica.html
+++ b/pmd_rules_modelica.html
@@ -1442,7 +1442,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_modelica_bestpractices.html b/pmd_rules_modelica_bestpractices.html
index 5d943fa9d5..1e2d878e18 100644
--- a/pmd_rules_modelica_bestpractices.html
+++ b/pmd_rules_modelica_bestpractices.html
@@ -1516,7 +1516,7 @@ end Example;
diff --git a/pmd_rules_plsql.html b/pmd_rules_plsql.html
index ec018dd079..603265b57a 100644
--- a/pmd_rules_plsql.html
+++ b/pmd_rules_plsql.html
@@ -1522,7 +1522,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_bestpractices.html b/pmd_rules_plsql_bestpractices.html
index 7037bfe5dd..17ee87fe93 100644
--- a/pmd_rules_plsql_bestpractices.html
+++ b/pmd_rules_plsql_bestpractices.html
@@ -1482,7 +1482,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_codestyle.html b/pmd_rules_plsql_codestyle.html
index 5928e9cd02..0476a6fe28 100644
--- a/pmd_rules_plsql_codestyle.html
+++ b/pmd_rules_plsql_codestyle.html
@@ -1766,7 +1766,7 @@ https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#BABIIHBJ
diff --git a/pmd_rules_plsql_design.html b/pmd_rules_plsql_design.html
index ec19568462..647d6599c0 100644
--- a/pmd_rules_plsql_design.html
+++ b/pmd_rules_plsql_design.html
@@ -2406,7 +2406,7 @@ have more fine grained objects.
diff --git a/pmd_rules_plsql_errorprone.html b/pmd_rules_plsql_errorprone.html
index a60c52a143..64b6a03fdd 100644
--- a/pmd_rules_plsql_errorprone.html
+++ b/pmd_rules_plsql_errorprone.html
@@ -1551,7 +1551,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom.html b/pmd_rules_pom.html
index 81e02a1edf..7a832dee33 100644
--- a/pmd_rules_pom.html
+++ b/pmd_rules_pom.html
@@ -1455,7 +1455,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom_errorprone.html b/pmd_rules_pom_errorprone.html
index 4357753f32..3d1c107fc9 100644
--- a/pmd_rules_pom_errorprone.html
+++ b/pmd_rules_pom_errorprone.html
@@ -1522,7 +1522,7 @@ By far the most common problem is the use of ${project.version} in a BOM or pare
diff --git a/pmd_rules_scala.html b/pmd_rules_scala.html
index ab4e629a7b..394b9c37f9 100644
--- a/pmd_rules_scala.html
+++ b/pmd_rules_scala.html
@@ -1435,7 +1435,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf.html b/pmd_rules_vf.html
index 80230a9239..3187b23682 100644
--- a/pmd_rules_vf.html
+++ b/pmd_rules_vf.html
@@ -1456,7 +1456,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf_security.html b/pmd_rules_vf_security.html
index f5015d9187..e8ea6b6519 100644
--- a/pmd_rules_vf_security.html
+++ b/pmd_rules_vf_security.html
@@ -1497,7 +1497,7 @@ on
diff --git a/pmd_rules_vm.html b/pmd_rules_vm.html
index ab47eb3279..c9e5dfe885 100644
--- a/pmd_rules_vm.html
+++ b/pmd_rules_vm.html
@@ -1476,7 +1476,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_bestpractices.html b/pmd_rules_vm_bestpractices.html
index 27a6dc1133..c380d6e636 100644
--- a/pmd_rules_vm_bestpractices.html
+++ b/pmd_rules_vm_bestpractices.html
@@ -1450,7 +1450,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_design.html b/pmd_rules_vm_design.html
index bc8d05c21a..3f61d3fdf5 100644
--- a/pmd_rules_vm_design.html
+++ b/pmd_rules_vm_design.html
@@ -1564,7 +1564,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_errorprone.html b/pmd_rules_vm_errorprone.html
index 6a6acf2390..c4f6d1b8d5 100644
--- a/pmd_rules_vm_errorprone.html
+++ b/pmd_rules_vm_errorprone.html
@@ -1450,7 +1450,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml.html b/pmd_rules_xml.html
index fdd7f8eae5..218de2115a 100644
--- a/pmd_rules_xml.html
+++ b/pmd_rules_xml.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml_errorprone.html b/pmd_rules_xml_errorprone.html
index f519cd3ebd..d37126678f 100644
--- a/pmd_rules_xml_errorprone.html
+++ b/pmd_rules_xml_errorprone.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl.html b/pmd_rules_xsl.html
index 25987126cd..90dcae5de3 100644
--- a/pmd_rules_xsl.html
+++ b/pmd_rules_xsl.html
@@ -1462,7 +1462,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_codestyle.html b/pmd_rules_xsl_codestyle.html
index 9a9d463ebc..fcc2f9752b 100644
--- a/pmd_rules_xsl_codestyle.html
+++ b/pmd_rules_xsl_codestyle.html
@@ -1445,7 +1445,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_performance.html b/pmd_rules_xsl_performance.html
index 4150af8132..404cda350a 100644
--- a/pmd_rules_xsl_performance.html
+++ b/pmd_rules_xsl_performance.html
@@ -1488,7 +1488,7 @@ cutting through 100% of the document.
diff --git a/pmd_userdocs_best_practices.html b/pmd_userdocs_best_practices.html
index a8074d9dfe..9c61c63be5 100644
--- a/pmd_userdocs_best_practices.html
+++ b/pmd_userdocs_best_practices.html
@@ -1457,7 +1457,7 @@ and soon you’ll be fixing problems much faster.
diff --git a/pmd_userdocs_cli_reference.html b/pmd_userdocs_cli_reference.html
index f62e6de30b..183ade7a8b 100644
--- a/pmd_userdocs_cli_reference.html
+++ b/pmd_userdocs_cli_reference.html
@@ -2076,7 +2076,7 @@ All formats are described at PMD Repo
diff --git a/pmd_userdocs_configuring_rules.html b/pmd_userdocs_configuring_rules.html
index bce4a45129..2a8cb0af00 100644
--- a/pmd_userdocs_configuring_rules.html
+++ b/pmd_userdocs_configuring_rules.html
@@ -1483,7 +1483,7 @@ will cause the rule to be ignored.
diff --git a/pmd_userdocs_cpd.html b/pmd_userdocs_cpd.html
index 0dd423197f..3d1f055efd 100644
--- a/pmd_userdocs_cpd.html
+++ b/pmd_userdocs_cpd.html
@@ -2462,7 +2462,7 @@ the comment based approach will be extended to those of them that can support it
diff --git a/pmd_userdocs_cpd_report_formats.html b/pmd_userdocs_cpd_report_formats.html
index db119e27cb..9c63661920 100644
--- a/pmd_userdocs_cpd_report_formats.html
+++ b/pmd_userdocs_cpd_report_formats.html
@@ -1634,7 +1634,7 @@ is shown in the console. You can then click on the filenames to jump to the sour
diff --git a/pmd_userdocs_extending_defining_properties.html b/pmd_userdocs_extending_defining_properties.html
index dd2b8bd06e..4e4a87948b 100644
--- a/pmd_userdocs_extending_defining_properties.html
+++ b/pmd_userdocs_extending_defining_properties.html
@@ -1633,7 +1633,7 @@ are supported.
diff --git a/pmd_userdocs_extending_designer_reference.html b/pmd_userdocs_extending_designer_reference.html
index 6678d1ce20..4cde3f8f6c 100644
--- a/pmd_userdocs_extending_designer_reference.html
+++ b/pmd_userdocs_extending_designer_reference.html
@@ -1672,7 +1672,7 @@ The available language modules are those on the classpath of the app’s JVM. Th
diff --git a/pmd_userdocs_extending_metrics_howto.html b/pmd_userdocs_extending_metrics_howto.html
index 5131341e17..1dc0e6ba03 100644
--- a/pmd_userdocs_extending_metrics_howto.html
+++ b/pmd_userdocs_extending_metrics_howto.html
@@ -1758,7 +1758,7 @@ classes. Here’s the default behaviour by language and type of metric:
diff --git a/pmd_userdocs_extending_rule_guidelines.html b/pmd_userdocs_extending_rule_guidelines.html
index f239adf185..2e46679ea8 100644
--- a/pmd_userdocs_extending_rule_guidelines.html
+++ b/pmd_userdocs_extending_rule_guidelines.html
@@ -1462,7 +1462,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_testing.html b/pmd_userdocs_extending_testing.html
index 3f6cfd1287..98f0f779dc 100644
--- a/pmd_userdocs_extending_testing.html
+++ b/pmd_userdocs_extending_testing.html
@@ -1738,7 +1738,7 @@ will be executed twice.
diff --git a/pmd_userdocs_extending_writing_java_rules.html b/pmd_userdocs_extending_writing_java_rules.html
index 48795a445b..21aff3a418 100644
--- a/pmd_userdocs_extending_writing_java_rules.html
+++ b/pmd_userdocs_extending_writing_java_rules.html
@@ -1590,7 +1590,7 @@ the file
diff --git a/pmd_userdocs_extending_writing_pmd_rules.html b/pmd_userdocs_extending_writing_pmd_rules.html
index 4901931223..d1b2ccc918 100644
--- a/pmd_userdocs_extending_writing_pmd_rules.html
+++ b/pmd_userdocs_extending_writing_pmd_rules.html
@@ -1454,7 +1454,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_rules_intro.html b/pmd_userdocs_extending_writing_rules_intro.html
index e215030925..f45af3b3f6 100644
--- a/pmd_userdocs_extending_writing_rules_intro.html
+++ b/pmd_userdocs_extending_writing_rules_intro.html
@@ -1572,7 +1572,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_xpath_rules.html b/pmd_userdocs_extending_writing_xpath_rules.html
index d887408b8e..e6221f684d 100644
--- a/pmd_userdocs_extending_writing_xpath_rules.html
+++ b/pmd_userdocs_extending_writing_xpath_rules.html
@@ -1852,7 +1852,7 @@ deprecated and whose usages should be replaced with uses of
diff --git a/pmd_userdocs_incremental_analysis.html b/pmd_userdocs_incremental_analysis.html
index 4a12f400b7..4378ca7da2 100644
--- a/pmd_userdocs_incremental_analysis.html
+++ b/pmd_userdocs_incremental_analysis.html
@@ -1537,7 +1537,7 @@ same execution classpath).
diff --git a/pmd_userdocs_installation.html b/pmd_userdocs_installation.html
index 3444362869..4c88cc6eb0 100644
--- a/pmd_userdocs_installation.html
+++ b/pmd_userdocs_installation.html
@@ -1590,7 +1590,7 @@ directory or a jar or zip file containing the sources.
diff --git a/pmd_userdocs_making_rulesets.html b/pmd_userdocs_making_rulesets.html
index ecd98f07cc..0ea503dcbc 100644
--- a/pmd_userdocs_making_rulesets.html
+++ b/pmd_userdocs_making_rulesets.html
@@ -1540,7 +1540,7 @@ a single rule reference.
diff --git a/pmd_userdocs_report_formats.html b/pmd_userdocs_report_formats.html
index 63682946e0..004e04ac62 100644
--- a/pmd_userdocs_report_formats.html
+++ b/pmd_userdocs_report_formats.html
@@ -1791,7 +1791,7 @@ The output directory must exist. If not specified, the html files are created in
diff --git a/pmd_userdocs_suppressing_warnings.html b/pmd_userdocs_suppressing_warnings.html
index 95a6823c5d..829fc967bf 100644
--- a/pmd_userdocs_suppressing_warnings.html
+++ b/pmd_userdocs_suppressing_warnings.html
@@ -1641,7 +1641,7 @@ violations you wish to suppress. XPath queries are explained in
diff --git a/pmd_userdocs_tools.html b/pmd_userdocs_tools.html
index f7da54646d..58ff773669 100644
--- a/pmd_userdocs_tools.html
+++ b/pmd_userdocs_tools.html
@@ -1881,7 +1881,7 @@ the (blank Command Results) document, and then confirming that, “yes, I do rea
diff --git a/pmd_userdocs_tools_ant.html b/pmd_userdocs_tools_ant.html
index 731da20e35..081caefcee 100644
--- a/pmd_userdocs_tools_ant.html
+++ b/pmd_userdocs_tools_ant.html
@@ -1860,7 +1860,7 @@ To prevent this from happening, increase the maximum memory usable by ant using
diff --git a/pmd_userdocs_tools_ci.html b/pmd_userdocs_tools_ci.html
index 59530cda95..292bd3ff19 100644
--- a/pmd_userdocs_tools_ci.html
+++ b/pmd_userdocs_tools_ci.html
@@ -1447,7 +1447,7 @@ result of the PMD maven plugin.
diff --git a/pmd_userdocs_tools_gradle.html b/pmd_userdocs_tools_gradle.html
index 12586caeab..712e7b4fec 100644
--- a/pmd_userdocs_tools_gradle.html
+++ b/pmd_userdocs_tools_gradle.html
@@ -1490,7 +1490,7 @@ with the property
toolVersion
diff --git a/pmd_userdocs_tools_java_api.html b/pmd_userdocs_tools_java_api.html
index 8bb638a235..2f86ec9036 100644
--- a/pmd_userdocs_tools_java_api.html
+++ b/pmd_userdocs_tools_java_api.html
@@ -1706,7 +1706,7 @@ Then you can check the rendered output.
diff --git a/pmd_userdocs_tools_maven.html b/pmd_userdocs_tools_maven.html
index 61fa79a1cf..d2fbcbc8ae 100644
--- a/pmd_userdocs_tools_maven.html
+++ b/pmd_userdocs_tools_maven.html
@@ -1705,7 +1705,7 @@ the previous paragraph. Add the following property to your project now:
diff --git a/tag_devdocs.html b/tag_devdocs.html
index b8e60f8f5a..26cf8c7af2 100644
--- a/tag_devdocs.html
+++ b/tag_devdocs.html
@@ -1931,7 +1931,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_extending.html b/tag_extending.html
index b81a6552fc..f65f934aa8 100644
--- a/tag_extending.html
+++ b/tag_extending.html
@@ -1955,7 +1955,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_getting_started.html b/tag_getting_started.html
index feeea0ba1d..15cbbc15a8 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1889,7 +1889,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_languages.html b/tag_languages.html
index f1398ec250..69bb791f8e 100644
--- a/tag_languages.html
+++ b/tag_languages.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_metrics.html b/tag_metrics.html
index 19c9fcfe68..3e6af6dec0 100644
--- a/tag_metrics.html
+++ b/tag_metrics.html
@@ -1889,7 +1889,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_release_notes.html b/tag_release_notes.html
index 29ac7a2cee..de04f725c4 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_rule_references.html b/tag_rule_references.html
index 03df00c431..3d35a91144 100644
--- a/tag_rule_references.html
+++ b/tag_rule_references.html
@@ -1937,7 +1937,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_tools.html b/tag_tools.html
index 17a00bb3f9..a987fb0387 100644
--- a/tag_tools.html
+++ b/tag_tools.html
@@ -1901,7 +1901,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index 83f17a551e..8cfd460b65 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1865,7 +1865,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_userdocs.html b/tag_userdocs.html
index 5b1b68ee71..c2ae6f8b91 100644
--- a/tag_userdocs.html
+++ b/tag_userdocs.html
@@ -2021,7 +2021,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_your_first_rule.html b/pmd_userdocs_extending_your_first_rule.html
index 3ca3f6892d..9c5472202d 100644
--- a/pmd_userdocs_extending_your_first_rule.html
+++ b/pmd_userdocs_extending_your_first_rule.html
@@ -1561,7 +1561,7 @@ of a rule of type XPathRule, which is how XPath rules are implemented.
diff --git a/pmd_rules_java_design.html b/pmd_rules_java_design.html
index 3d0568d9c6..52cc21bdaa 100644
--- a/pmd_rules_java_design.html
+++ b/pmd_rules_java_design.html
@@ -3969,7 +3969,7 @@ remember to add a private constructor to prevent instantiation.
diff --git a/pmd_devdocs_pmdtester.html b/pmd_devdocs_pmdtester.html
index 75af9af420..c34a0fc2af 100644
--- a/pmd_devdocs_pmdtester.html
+++ b/pmd_devdocs_pmdtester.html
@@ -1444,7 +1444,7 @@ Regression difference reports are commented back to the PR for the reviewer’s