diff --git a/404.html b/404.html index 1822492472..88270d9185 100644 --- a/404.html +++ b/404.html @@ -1441,7 +1441,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 dbb4c6f56b..c58b8e04ef 100644
--- a/pmd_devdocs_roadmap.html
+++ b/pmd_devdocs_roadmap.html
@@ -1584,7 +1584,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 1820468185..749129d28a 100644
--- a/pmd_devdocs_rule_deprecation_policy.html
+++ b/pmd_devdocs_rule_deprecation_policy.html
@@ -1553,7 +1553,7 @@ major release of PMD.
diff --git a/pmd_devdocs_writing_documentation.html b/pmd_devdocs_writing_documentation.html
index bdf11c3902..2654486b3d 100644
--- a/pmd_devdocs_writing_documentation.html
+++ b/pmd_devdocs_writing_documentation.html
@@ -1700,7 +1700,7 @@ by specifying
-Dpmd.doc.check
diff --git a/pmd_java_metrics_index.html b/pmd_java_metrics_index.html
index c8a6100b98..394366caee 100644
--- a/pmd_java_metrics_index.html
+++ b/pmd_java_metrics_index.html
@@ -1872,7 +1872,7 @@ In Proceedings ACM Symposium on Software Reusability, 1995.
diff --git a/pmd_languages_jsp.html b/pmd_languages_jsp.html
index 8c698c3f0f..b97fc4645c 100644
--- a/pmd_languages_jsp.html
+++ b/pmd_languages_jsp.html
@@ -1494,7 +1494,7 @@ contains only “.java” files, JSP files obviously will not be checked.
diff --git a/pmd_languages_plsql.html b/pmd_languages_plsql.html
index 2069132eaa..abd3e80dbe 100644
--- a/pmd_languages_plsql.html
+++ b/pmd_languages_plsql.html
@@ -1481,7 +1481,7 @@ a custom XPath rule with the following expression:
diff --git a/pmd_next_major_development.html b/pmd_next_major_development.html
index 099f3ae0f5..bb80902ff3 100644
--- a/pmd_next_major_development.html
+++ b/pmd_next_major_development.html
@@ -2902,7 +2902,7 @@ replacement.
diff --git a/pmd_projectdocs_committers_infrastructure.html b/pmd_projectdocs_committers_infrastructure.html
index 2542e59e90..75fbe2e610 100644
--- a/pmd_projectdocs_committers_infrastructure.html
+++ b/pmd_projectdocs_committers_infrastructure.html
@@ -1525,7 +1525,7 @@ Login is via github.
diff --git a/pmd_projectdocs_committers_main_landing_page.html b/pmd_projectdocs_committers_main_landing_page.html
index 3bf6bfcd84..251d4e855c 100644
--- a/pmd_projectdocs_committers_main_landing_page.html
+++ b/pmd_projectdocs_committers_main_landing_page.html
@@ -1533,7 +1533,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 eeedb0d8e7..52fb483eee 100644
--- a/pmd_projectdocs_committers_merging_pull_requests.html
+++ b/pmd_projectdocs_committers_merging_pull_requests.html
@@ -1612,7 +1612,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 12fefe5ca2..037e84926e 100644
--- a/pmd_projectdocs_committers_releasing.html
+++ b/pmd_projectdocs_committers_releasing.html
@@ -1841,7 +1841,7 @@ the maintenance branch needs to be set.
diff --git a/pmd_projectdocs_credits.html b/pmd_projectdocs_credits.html
index f0748276df..60df40c41b 100644
--- a/pmd_projectdocs_credits.html
+++ b/pmd_projectdocs_credits.html
@@ -1955,7 +1955,7 @@ PMD scoreboard formulas, pmd-dcpd optimizations
diff --git a/pmd_projectdocs_faq.html b/pmd_projectdocs_faq.html
index 05c24c3494..cfd22009d6 100644
--- a/pmd_projectdocs_faq.html
+++ b/pmd_projectdocs_faq.html
@@ -1488,7 +1488,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 28bd02c187..7f4e864b3c 100644
--- a/pmd_projectdocs_trivia_meaning.html
+++ b/pmd_projectdocs_trivia_meaning.html
@@ -1457,7 +1457,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 7c0ba0db6f..0e3e1f24dd 100644
--- a/pmd_projectdocs_trivia_news.html
+++ b/pmd_projectdocs_trivia_news.html
@@ -1577,7 +1577,7 @@ interview with Ole-Martin and Tom
diff --git a/pmd_projectdocs_trivia_products.html b/pmd_projectdocs_trivia_products.html
index db138e772b..f5e178142f 100644
--- a/pmd_projectdocs_trivia_products.html
+++ b/pmd_projectdocs_trivia_products.html
@@ -1505,7 +1505,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 6c6e7fc175..558741d02b 100644
--- a/pmd_projectdocs_trivia_similarprojects.html
+++ b/pmd_projectdocs_trivia_similarprojects.html
@@ -1512,7 +1512,7 @@ only for maven project.
diff --git a/pmd_release_notes.html b/pmd_release_notes.html
index 2be309b49e..706b7f4889 100644
--- a/pmd_release_notes.html
+++ b/pmd_release_notes.html
@@ -1430,6 +1430,21 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
New and noteworthy
+Java 17 Support
+
+This release of PMD brings support for Java 17. PMD supports JEP 409: Sealed Classes
+which has been promoted to be a standard language feature of Java 17.
+
+PMD also supports JEP 406: Pattern Matching for switch (Preview) as a preview
+language feature. In order to analyze a project with PMD that uses these language features, you’ll need to enable
+it via the environment variable PMD_JAVA_OPTS
and select the new language version 17-preview
:
+
+export PMD_JAVA_OPTS=--enable-preview
+./run.sh pmd -language java -version 17-preview ...
+
+
+Note: Support for Java 15 preview language features have been removed. The version “15-preview” is no longer available.
+
New rules
This release ships with 3 new Java rules.
@@ -1544,6 +1559,19 @@ new rule UnnecessaryBoxingAPI Changes
+Experimental APIs
+
+
+ - The AST types and APIs around Sealed Classes are not experimental anymore:
+
+
+
+
Internal API
Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
@@ -1579,7 +1607,7 @@ It will probably be moved away with PMD 7.
diff --git a/pmd_release_notes_old.html b/pmd_release_notes_old.html
index be869128b6..6e6c2c9afb 100644
--- a/pmd_release_notes_old.html
+++ b/pmd_release_notes_old.html
@@ -14064,7 +14064,7 @@ Added new HTML report format
diff --git a/pmd_rules_apex.html b/pmd_rules_apex.html
index 1b77b8fdcd..1aa2c68a23 100644
--- a/pmd_rules_apex.html
+++ b/pmd_rules_apex.html
@@ -1655,7 +1655,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 5daaf2bc83..263c60f0ad 100644
--- a/pmd_rules_apex_bestpractices.html
+++ b/pmd_rules_apex_bestpractices.html
@@ -1957,7 +1957,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 2b3fd4f0e9..a991899b3a 100644
--- a/pmd_rules_apex_codestyle.html
+++ b/pmd_rules_apex_codestyle.html
@@ -2526,7 +2526,7 @@ controlled from the rest.
diff --git a/pmd_rules_apex_design.html b/pmd_rules_apex_design.html
index 0be6beb5d8..369df075ad 100644
--- a/pmd_rules_apex_design.html
+++ b/pmd_rules_apex_design.html
@@ -2483,7 +2483,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 28e5e35b06..82e598eac0 100644
--- a/pmd_rules_apex_documentation.html
+++ b/pmd_rules_apex_documentation.html
@@ -1537,7 +1537,7 @@ order as the method signature.
diff --git a/pmd_rules_apex_errorprone.html b/pmd_rules_apex_errorprone.html
index 19859ca8af..7fbccca217 100644
--- a/pmd_rules_apex_errorprone.html
+++ b/pmd_rules_apex_errorprone.html
@@ -2333,7 +2333,7 @@ dealing with legacy code.
diff --git a/pmd_rules_apex_performance.html b/pmd_rules_apex_performance.html
index aff971f8ae..74c0d88c09 100644
--- a/pmd_rules_apex_performance.html
+++ b/pmd_rules_apex_performance.html
@@ -1808,7 +1808,7 @@ by the more general rule
diff --git a/pmd_rules_apex_security.html b/pmd_rules_apex_security.html
index 1983e2fed1..a24ce80230 100644
--- a/pmd_rules_apex_security.html
+++ b/pmd_rules_apex_security.html
@@ -2131,7 +2131,7 @@ to avoid XSS attacks.
diff --git a/pmd_rules_ecmascript.html b/pmd_rules_ecmascript.html
index d0247b3f01..3f5c03ecd5 100644
--- a/pmd_rules_ecmascript.html
+++ b/pmd_rules_ecmascript.html
@@ -1528,7 +1528,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 595ea9fe2b..81e03c6a9b 100644
--- a/pmd_rules_ecmascript_bestpractices.html
+++ b/pmd_rules_ecmascript_bestpractices.html
@@ -1652,7 +1652,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 e94272ba35..b6effbc2ac 100644
--- a/pmd_rules_ecmascript_codestyle.html
+++ b/pmd_rules_ecmascript_codestyle.html
@@ -1794,7 +1794,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 9f43dc22c6..0cc01d7021 100644
--- a/pmd_rules_ecmascript_errorprone.html
+++ b/pmd_rules_ecmascript_errorprone.html
@@ -1575,7 +1575,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 2741ec2019..4505467b14 100644
--- a/pmd_rules_java.html
+++ b/pmd_rules_java.html
@@ -2102,7 +2102,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 89aef82792..4524479e32 100644
--- a/pmd_rules_java_bestpractices.html
+++ b/pmd_rules_java_bestpractices.html
@@ -3956,7 +3956,7 @@ a block
{}
is sufficie
diff --git a/pmd_rules_java_codestyle.html b/pmd_rules_java_codestyle.html
index 5e21bd4d18..9a13e97d28 100644
--- a/pmd_rules_java_codestyle.html
+++ b/pmd_rules_java_codestyle.html
@@ -4709,7 +4709,7 @@ by the rule
diff --git a/pmd_rules_java_documentation.html b/pmd_rules_java_documentation.html
index 8b777b19f5..ee081099e1 100644
--- a/pmd_rules_java_documentation.html
+++ b/pmd_rules_java_documentation.html
@@ -1764,7 +1764,7 @@ empty methods.
diff --git a/pmd_rules_java_errorprone.html b/pmd_rules_java_errorprone.html
index b1b9e5d31a..84e7b9b093 100644
--- a/pmd_rules_java_errorprone.html
+++ b/pmd_rules_java_errorprone.html
@@ -5507,7 +5507,7 @@ Thread.currentThread().getContextClassLoader() instead.
diff --git a/pmd_rules_java_multithreading.html b/pmd_rules_java_multithreading.html
index 6974a4bb5e..5ba00a844f 100644
--- a/pmd_rules_java_multithreading.html
+++ b/pmd_rules_java_multithreading.html
@@ -1950,7 +1950,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 be72b15def..ff5c9bd9f5 100644
--- a/pmd_rules_java_performance.html
+++ b/pmd_rules_java_performance.html
@@ -2608,7 +2608,7 @@ or StringBuffer.toString().length() == …
diff --git a/pmd_rules_java_security.html b/pmd_rules_java_security.html
index d3db410e93..8230af5373 100644
--- a/pmd_rules_java_security.html
+++ b/pmd_rules_java_security.html
@@ -1501,7 +1501,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 0abc3f0c2f..e3a33fa80f 100644
--- a/pmd_rules_jsp.html
+++ b/pmd_rules_jsp.html
@@ -1510,7 +1510,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 a18c2b983c..ab2696b639 100644
--- a/pmd_rules_jsp_bestpractices.html
+++ b/pmd_rules_jsp_bestpractices.html
@@ -1543,7 +1543,7 @@ little other purpose. Consider switching to JSP comments.
diff --git a/pmd_rules_jsp_codestyle.html b/pmd_rules_jsp_codestyle.html
index 3294721110..66820a921f 100644
--- a/pmd_rules_jsp_codestyle.html
+++ b/pmd_rules_jsp_codestyle.html
@@ -1460,7 +1460,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 f7fc1df8a1..323937bd5c 100644
--- a/pmd_rules_jsp_design.html
+++ b/pmd_rules_jsp_design.html
@@ -1551,7 +1551,7 @@ onload=calcDays;
diff --git a/pmd_rules_jsp_errorprone.html b/pmd_rules_jsp_errorprone.html
index ba5be2269d..bdf9a3a532 100644
--- a/pmd_rules_jsp_errorprone.html
+++ b/pmd_rules_jsp_errorprone.html
@@ -1472,7 +1472,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 71f2ba72ca..3d434b2238 100644
--- a/pmd_rules_jsp_security.html
+++ b/pmd_rules_jsp_security.html
@@ -1493,7 +1493,7 @@ ${fn:escapeXml(expression)}
<!-- instead, escape it --&g
diff --git a/pmd_rules_modelica.html b/pmd_rules_modelica.html
index c2c894aa47..bdb65002e4 100644
--- a/pmd_rules_modelica.html
+++ b/pmd_rules_modelica.html
@@ -1459,7 +1459,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 06171251b5..f149b5ec60 100644
--- a/pmd_rules_modelica_bestpractices.html
+++ b/pmd_rules_modelica_bestpractices.html
@@ -1535,7 +1535,7 @@ end Example;
diff --git a/pmd_rules_plsql.html b/pmd_rules_plsql.html
index dbcace1094..a06a0ba75a 100644
--- a/pmd_rules_plsql.html
+++ b/pmd_rules_plsql.html
@@ -1539,7 +1539,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 0a88055e8a..17e6edb9f1 100644
--- a/pmd_rules_plsql_bestpractices.html
+++ b/pmd_rules_plsql_bestpractices.html
@@ -1501,7 +1501,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 100b1e7c5a..a84b560d2f 100644
--- a/pmd_rules_plsql_codestyle.html
+++ b/pmd_rules_plsql_codestyle.html
@@ -1785,7 +1785,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 2f46a68f88..7024cfddc4 100644
--- a/pmd_rules_plsql_design.html
+++ b/pmd_rules_plsql_design.html
@@ -2425,7 +2425,7 @@ have more fine grained objects.
diff --git a/pmd_rules_plsql_errorprone.html b/pmd_rules_plsql_errorprone.html
index 3f8e07aded..5a305455b2 100644
--- a/pmd_rules_plsql_errorprone.html
+++ b/pmd_rules_plsql_errorprone.html
@@ -1570,7 +1570,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 e662df8b58..ff65ecea4c 100644
--- a/pmd_rules_pom.html
+++ b/pmd_rules_pom.html
@@ -1472,7 +1472,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 19ec919b3d..d31539e858 100644
--- a/pmd_rules_pom_errorprone.html
+++ b/pmd_rules_pom_errorprone.html
@@ -1541,7 +1541,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 2ddf32c7d4..1922ab2663 100644
--- a/pmd_rules_scala.html
+++ b/pmd_rules_scala.html
@@ -1454,7 +1454,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 afb7062b30..5599e34f7a 100644
--- a/pmd_rules_vf.html
+++ b/pmd_rules_vf.html
@@ -1473,7 +1473,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 c225b0d3c3..dcd51e4bf8 100644
--- a/pmd_rules_vf_security.html
+++ b/pmd_rules_vf_security.html
@@ -1516,7 +1516,7 @@ on
diff --git a/pmd_rules_vm.html b/pmd_rules_vm.html
index 83f36a8ffa..3705fad983 100644
--- a/pmd_rules_vm.html
+++ b/pmd_rules_vm.html
@@ -1493,7 +1493,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 0c9847249d..b87e477eec 100644
--- a/pmd_rules_vm_bestpractices.html
+++ b/pmd_rules_vm_bestpractices.html
@@ -1469,7 +1469,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 14ef7e5bc5..b6dd4cc651 100644
--- a/pmd_rules_vm_design.html
+++ b/pmd_rules_vm_design.html
@@ -1583,7 +1583,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 03dd76db25..29b29c8046 100644
--- a/pmd_rules_vm_errorprone.html
+++ b/pmd_rules_vm_errorprone.html
@@ -1469,7 +1469,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 3f10ba20ab..5d87eccca3 100644
--- a/pmd_rules_xml.html
+++ b/pmd_rules_xml.html
@@ -1471,7 +1471,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 3f110dee89..4a83c9a01e 100644
--- a/pmd_rules_xml_errorprone.html
+++ b/pmd_rules_xml_errorprone.html
@@ -1473,7 +1473,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 f3d03e4616..9e5deb9891 100644
--- a/pmd_rules_xsl.html
+++ b/pmd_rules_xsl.html
@@ -1479,7 +1479,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 4c71e130c0..4c6b10a882 100644
--- a/pmd_rules_xsl_codestyle.html
+++ b/pmd_rules_xsl_codestyle.html
@@ -1464,7 +1464,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 36a7ebce2a..d5d3c52370 100644
--- a/pmd_rules_xsl_performance.html
+++ b/pmd_rules_xsl_performance.html
@@ -1507,7 +1507,7 @@ cutting through 100% of the document.
diff --git a/pmd_userdocs_best_practices.html b/pmd_userdocs_best_practices.html
index 8c7fc3e9f9..9ee2979e96 100644
--- a/pmd_userdocs_best_practices.html
+++ b/pmd_userdocs_best_practices.html
@@ -1476,7 +1476,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 9421c7d0a3..33f777d70f 100644
--- a/pmd_userdocs_cli_reference.html
+++ b/pmd_userdocs_cli_reference.html
@@ -2049,7 +2049,7 @@ and
-version
parameter
java
- Supported Versions: 1.3, 1.4, 1.5, 5, 1.6, 6, 1.7, 7, 1.8, 8, 9, 1.9, 10, 1.10, 11, 12,
-13, 14, 14-preview, 15 (default), 15-preview
+13, 14, 15, 16, 16-preview, 17 (default), 17-preview
ecmascript (JavaScript)
@@ -2095,7 +2095,7 @@ All formats are described at PMD Repo
diff --git a/pmd_userdocs_configuring_rules.html b/pmd_userdocs_configuring_rules.html
index ed3f8fa455..9a6d2b1312 100644
--- a/pmd_userdocs_configuring_rules.html
+++ b/pmd_userdocs_configuring_rules.html
@@ -1502,7 +1502,7 @@ will cause the rule to be ignored.
diff --git a/pmd_userdocs_cpd.html b/pmd_userdocs_cpd.html
index 113914d0be..17622590bb 100644
--- a/pmd_userdocs_cpd.html
+++ b/pmd_userdocs_cpd.html
@@ -2481,7 +2481,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 64027cb372..62dad00c7b 100644
--- a/pmd_userdocs_cpd_report_formats.html
+++ b/pmd_userdocs_cpd_report_formats.html
@@ -1653,7 +1653,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 8cecad4edd..20bda62919 100644
--- a/pmd_userdocs_extending_defining_properties.html
+++ b/pmd_userdocs_extending_defining_properties.html
@@ -1652,7 +1652,7 @@ are supported.
diff --git a/pmd_userdocs_extending_designer_reference.html b/pmd_userdocs_extending_designer_reference.html
index e5499e0469..148607c3c1 100644
--- a/pmd_userdocs_extending_designer_reference.html
+++ b/pmd_userdocs_extending_designer_reference.html
@@ -1691,7 +1691,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 e4c5ad5f9d..3964a439ab 100644
--- a/pmd_userdocs_extending_metrics_howto.html
+++ b/pmd_userdocs_extending_metrics_howto.html
@@ -1777,7 +1777,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 df6fb59640..07352b687c 100644
--- a/pmd_userdocs_extending_rule_guidelines.html
+++ b/pmd_userdocs_extending_rule_guidelines.html
@@ -1481,7 +1481,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 13430b9892..b2071ee841 100644
--- a/pmd_userdocs_extending_testing.html
+++ b/pmd_userdocs_extending_testing.html
@@ -1757,7 +1757,7 @@ will be executed twice.
diff --git a/pmd_userdocs_extending_writing_java_rules.html b/pmd_userdocs_extending_writing_java_rules.html
index d6ce62df6e..641811ec82 100644
--- a/pmd_userdocs_extending_writing_java_rules.html
+++ b/pmd_userdocs_extending_writing_java_rules.html
@@ -1609,7 +1609,7 @@ the file
diff --git a/pmd_userdocs_extending_writing_pmd_rules.html b/pmd_userdocs_extending_writing_pmd_rules.html
index afd6db9b0f..85028c337b 100644
--- a/pmd_userdocs_extending_writing_pmd_rules.html
+++ b/pmd_userdocs_extending_writing_pmd_rules.html
@@ -1473,7 +1473,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_rules_intro.html b/pmd_userdocs_extending_writing_rules_intro.html
index 1008faa1ea..31189b009d 100644
--- a/pmd_userdocs_extending_writing_rules_intro.html
+++ b/pmd_userdocs_extending_writing_rules_intro.html
@@ -1591,7 +1591,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_xpath_rules.html b/pmd_userdocs_extending_writing_xpath_rules.html
index f2a4285814..78fca23c4a 100644
--- a/pmd_userdocs_extending_writing_xpath_rules.html
+++ b/pmd_userdocs_extending_writing_xpath_rules.html
@@ -1871,7 +1871,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 1724b014c2..87489bff2d 100644
--- a/pmd_userdocs_incremental_analysis.html
+++ b/pmd_userdocs_incremental_analysis.html
@@ -1556,7 +1556,7 @@ same execution classpath).
diff --git a/pmd_userdocs_installation.html b/pmd_userdocs_installation.html
index 2d677f2705..f5e406e07d 100644
--- a/pmd_userdocs_installation.html
+++ b/pmd_userdocs_installation.html
@@ -1616,7 +1616,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 755b537313..9cd9fe407a 100644
--- a/pmd_userdocs_making_rulesets.html
+++ b/pmd_userdocs_making_rulesets.html
@@ -1559,7 +1559,7 @@ a single rule reference.
diff --git a/pmd_userdocs_report_formats.html b/pmd_userdocs_report_formats.html
index b2ec9942d9..3c466c2dfa 100644
--- a/pmd_userdocs_report_formats.html
+++ b/pmd_userdocs_report_formats.html
@@ -1822,7 +1822,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 89d49d57cc..3f0287c5b0 100644
--- a/pmd_userdocs_suppressing_warnings.html
+++ b/pmd_userdocs_suppressing_warnings.html
@@ -1660,7 +1660,7 @@ violations you wish to suppress. XPath queries are explained in
diff --git a/pmd_userdocs_tools.html b/pmd_userdocs_tools.html
index 6606b66130..997e029c83 100644
--- a/pmd_userdocs_tools.html
+++ b/pmd_userdocs_tools.html
@@ -1913,7 +1913,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 37885dc8fc..68d8e8978a 100644
--- a/pmd_userdocs_tools_ant.html
+++ b/pmd_userdocs_tools_ant.html
@@ -1879,7 +1879,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 70458591bf..dbf32f20ce 100644
--- a/pmd_userdocs_tools_ci.html
+++ b/pmd_userdocs_tools_ci.html
@@ -1466,7 +1466,7 @@ result of the PMD maven plugin.
diff --git a/pmd_userdocs_tools_gradle.html b/pmd_userdocs_tools_gradle.html
index d0a66aa59f..ce653bfe11 100644
--- a/pmd_userdocs_tools_gradle.html
+++ b/pmd_userdocs_tools_gradle.html
@@ -1509,7 +1509,7 @@ with the property
toolVersion
diff --git a/pmd_userdocs_tools_java_api.html b/pmd_userdocs_tools_java_api.html
index 53b1e52909..756058438f 100644
--- a/pmd_userdocs_tools_java_api.html
+++ b/pmd_userdocs_tools_java_api.html
@@ -1684,7 +1684,7 @@ Then you can check the rendered output.
diff --git a/pmd_userdocs_tools_maven.html b/pmd_userdocs_tools_maven.html
index 6e56bb5c01..75e943a09c 100644
--- a/pmd_userdocs_tools_maven.html
+++ b/pmd_userdocs_tools_maven.html
@@ -1724,7 +1724,7 @@ the previous paragraph. Add the following property to your project now:
diff --git a/tag_devdocs.html b/tag_devdocs.html
index d99a9cb397..67781e7743 100644
--- a/tag_devdocs.html
+++ b/tag_devdocs.html
@@ -1954,7 +1954,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_extending.html b/tag_extending.html
index c15c504a4f..9f224df153 100644
--- a/tag_extending.html
+++ b/tag_extending.html
@@ -1978,7 +1978,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 e21ebf5e4e..472d1a3a00 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1912,7 +1912,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_languages.html b/tag_languages.html
index 3d0a978b56..02b0d53f08 100644
--- a/tag_languages.html
+++ b/tag_languages.html
@@ -1888,7 +1888,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_metrics.html b/tag_metrics.html
index 56a0690ad3..3762992c05 100644
--- a/tag_metrics.html
+++ b/tag_metrics.html
@@ -1912,7 +1912,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 21622c0fde..4e630a10c8 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1888,7 +1888,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 bdfabfbd31..95f65d4959 100644
--- a/tag_rule_references.html
+++ b/tag_rule_references.html
@@ -1960,7 +1960,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_tools.html b/tag_tools.html
index f306c94592..e20dcd81b6 100644
--- a/tag_tools.html
+++ b/tag_tools.html
@@ -1924,7 +1924,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index b3d1028004..c2eeb65b07 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1888,7 +1888,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_userdocs.html b/tag_userdocs.html
index 002eea0152..aa091fd11f 100644
--- a/tag_userdocs.html
+++ b/tag_userdocs.html
@@ -2044,7 +2044,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 a3d5926061..a62a4374d4 100644
--- a/pmd_userdocs_extending_your_first_rule.html
+++ b/pmd_userdocs_extending_your_first_rule.html
@@ -1580,7 +1580,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 d58d9183c0..c9c48be7e8 100644
--- a/pmd_rules_java_design.html
+++ b/pmd_rules_java_design.html
@@ -4120,7 +4120,7 @@ remember to add a private constructor to prevent instantiation.
diff --git a/pmd_devdocs_pmdtester.html b/pmd_devdocs_pmdtester.html
index cfdb70e36b..4fdc2ebdc0 100644
--- a/pmd_devdocs_pmdtester.html
+++ b/pmd_devdocs_pmdtester.html
@@ -1463,7 +1463,7 @@ Regression difference reports are commented back to the PR for the reviewer’s