diff --git a/docs/_config.yml b/docs/_config.yml index 796ea66d91..196fc61abe 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -2,7 +2,7 @@ repository: pmd/pmd pmd: version: 7.0.0-SNAPSHOT - previous_version: 6.53.0 + previous_version: 6.54.0 date: ??-?????-2023 release_type: major diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md index 0e9471b129..2f7662e739 100644 --- a/docs/pages/next_major_development.md +++ b/docs/pages/next_major_development.md @@ -246,6 +246,53 @@ 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.54.0 + +##### PMD CLI + +* PMD now supports a new `--relativize-paths-with` flag (or short `-z`), which replaces `--short-names`. + It serves the same purpose: Shortening the pathnames in the reports. However, with the new flag it's possible + to explicitly define one or more pathnames that should be used as the base when creating relative paths. + The old flag `--short-names` is deprecated. + +##### Deprecated APIs + +###### For removal + +* {% jdoc !!apex::lang.apex.ast.ApexRootNode#getApexVersion() %} has been deprecated for removal. The version returned is + always `Version.CURRENT`, as the apex compiler integration doesn't use additional information which Apex version + actually is used. Therefore, this method can't be used to determine the Apex version of the project + that is being analyzed. +* {% jdoc !!core::cpd.CPDConfiguration#setEncoding(java.lang.String) %} and + {% jdoc !!core::cpd.CPDConfiguration#getEncoding() %}. Use the methods + {% jdoc core::AbstractConfiguration#getSourceEncoding() %} and + {% jdoc core::AbstractConfiguration#setSourceEncoding(java.lang.String) %} instead. Both are available + for `CPDConfiguration` which extends `AbstractConfiguration`. +* {% jdoc test::cli.BaseCLITest %} and {% jdoc test::cli.BaseCPDCLITest %} have been deprecated for removal without + replacement. CLI tests should be done in pmd-core only (and in PMD7 in pmd-cli). Individual language modules + shouldn't need to test the CLI integration logic again. Instead, the individual language modules should test their + functionality as unit tests. +* {% jdoc core::cpd.CPDConfiguration.LanguageConverter %} + +* {% jdoc !!core::lang.document.FileCollector#addZipFile(java.nio.file.Path) %} has been deprecated. It is replaced + by {% jdoc !!core::lang.document.FileCollector#addZipFileWithContent(java.nio.file.Path) %} which directly adds the + content of the zip file for analysis. + +* {% jdoc !!core::PMDConfiguration#setReportShortNames(boolean) %} and + {% jdoc !!core::PMDConfiguration#isReportShortNames() %} have been deprecated for removal. + Use {% jdoc !!core::PMDConfiguration#addRelativizeRoot(java.nio.file.Path) %} instead. + +###### Internal APIs + +* {% jdoc core::renderers.CSVWriter %} +* Some fields in {% jdoc test::ant.AbstractAntTestHelper %} + +###### Experimental APIs + +* CPDReport has a new method which limited mutation of a given report: + * {%jdoc core::cpd.CPDReport#filterMatches(net.sourceforge.pmd.util.Predicate) %} creates a new CPD report + with some matches removed with a given predicate based filter. + #### 6.53.0 ##### Deprecated APIs diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 90a2e41c6b..8abb75f161 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -19,78 +19,11 @@ This is a {{ site.pmd.release_type }} release. ### New and noteworthy -#### New report format html-report-v2.xslt - -Thanks to @mohan-chinnappan-n a new PMD report format has been added which features a data table -with charting functions. It uses an XSLT stylesheet to convert PMD's XML format into HTML. - -See [the example report](report-examples/html-report-v2.html). - ### Fixed Issues -* apex-bestpractices - * [#2669](https://github.com/pmd/pmd/issues/2669): \[apex] UnusedLocalVariable false positive in dynamic SOQL -* core - * [#4026](https://github.com/pmd/pmd/issues/4026): \[cli] Filenames printed as absolute paths in the report despite parameter `--short-names` - * [#4279](https://github.com/pmd/pmd/issues/4279): \[core] Can not set ruleset property value to empty - * [#4329](https://github.com/pmd/pmd/pull/4329): \[core] Refactor usage of snakeyaml - * [#4340](https://github.com/pmd/pmd/issues/4340): \[core] Allow to filter found matches in CPDReport -* java - * [#4364](https://github.com/pmd/pmd/issues/4364): \[java] Parsing error with textblock containing quote followed by two backslashes -* testing - * [#4236](https://github.com/pmd/pmd/issues/4236): \[test] kotest logs look broken ### API Changes -#### PMD CLI - -* PMD now supports a new `--relativize-paths-with` flag (or short `-z`), which replaces `--short-names`. - It serves the same purpose: Shortening the pathnames in the reports. However, with the new flag it's possible - to explicitly define one or more pathnames that should be used as the base when creating relative paths. - The old flag `--short-names` is deprecated. - -#### Deprecated APIs - -##### For removal - -* {% jdoc !!apex::lang.apex.ast.ApexRootNode#getApexVersion() %} has been deprecated for removal. The version returned is - always `Version.CURRENT`, as the apex compiler integration doesn't use additional information which Apex version - actually is used. Therefore, this method can't be used to determine the Apex version of the project - that is being analyzed. -* {% jdoc !!core::cpd.CPDConfiguration#setEncoding(java.lang.String) %} and - {% jdoc !!core::cpd.CPDConfiguration#getEncoding() %}. Use the methods - {% jdoc core::AbstractConfiguration#getSourceEncoding() %} and - {% jdoc core::AbstractConfiguration#setSourceEncoding(java.lang.String) %} instead. Both are available - for `CPDConfiguration` which extends `AbstractConfiguration`. -* {% jdoc test::cli.BaseCLITest %} and {% jdoc test::cli.BaseCPDCLITest %} have been deprecated for removal without - replacement. CLI tests should be done in pmd-core only (and in PMD7 in pmd-cli). Individual language modules - shouldn't need to test the CLI integration logic again. Instead, the individual language modules should test their - functionality as unit tests. -* {% jdoc core::cpd.CPDConfiguration.LanguageConverter %} - -* {% jdoc !!core::lang.document.FileCollector#addZipFile(java.nio.file.Path) %} has been deprecated. It is replaced - by {% jdoc !!core::lang.document.FileCollector#addZipFileWithContent(java.nio.file.Path) %} which directly adds the - content of the zip file for analysis. - -* {% jdoc !!core::PMDConfiguration#setReportShortNames(boolean) %} and - {% jdoc !!core::PMDConfiguration#isReportShortNames() %} have been deprecated for removal. - Use {% jdoc !!core::PMDConfiguration#addRelativizeRoot(java.nio.file.Path) %} instead. - -##### Internal APIs - -* {% jdoc core::renderers.CSVWriter %} -* Some fields in {% jdoc test::ant.AbstractAntTestHelper %} - -##### Experimental APIs - -* CPDReport has a new method which limited mutation of a given report: - * {%jdoc core::cpd.CPDReport#filterMatches(net.sourceforge.pmd.util.Predicate) %} creates a new CPD report - with some matches removed with a given predicate based filter. - ### External Contributions -* [#4110](https://github.com/pmd/pmd/pull/4110): \[apex] Feature/unused variable bind false positive with dynamic SOQL - [Thomas Prouvot](https://github.com/tprouvot) (@tprouvot) -* [#4125](https://github.com/pmd/pmd/pull/4125): \[core] New report format html-report-v2.xslt to provide html with datatable and chart features - [Mohan Chinnappan](https://github.com/mohan-chinnappan-n) - (@mohan-chinnappan-n) -* [#4280](https://github.com/pmd/pmd/pull/4280): \[apex] Deprecate ApexRootNode.getApexVersion - [Aaron Hurst](https://github.com/aaronhurst-google) (@aaronhurst-google) -* [#4285](https://github.com/pmd/pmd/pull/4285): \[java] CommentDefaultAccessModifier - add co.elastic.clients.util.VisibleForTesting as default suppressed annotation - [Matthew Luckam](https://github.com/mluckam) (@mluckam) {% endtocmaker %} diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md index be1de6d5df..28dd5da5b8 100644 --- a/docs/pages/release_notes_old.md +++ b/docs/pages/release_notes_old.md @@ -5,6 +5,106 @@ permalink: pmd_release_notes_old.html Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases +## 28-January-2023 - 6.54.0 + +The PMD team is pleased to announce PMD 6.54.0. + +This is a minor release. + +### Table Of Contents + +* [New and noteworthy](#new-and-noteworthy) + * [New report format html-report-v2.xslt](#new-report-format-html-report-v2.xslt) +* [Fixed Issues](#fixed-issues) +* [API Changes](#api-changes) + * [PMD CLI](#pmd-cli) + * [Deprecated APIs](#deprecated-apis) + * [For removal](#for-removal) + * [Internal APIs](#internal-apis) + * [Experimental APIs](#experimental-apis) +* [External Contributions](#external-contributions) +* [Stats](#stats) + +### New and noteworthy + +#### New report format html-report-v2.xslt + +Thanks to @mohan-chinnappan-n a new PMD report format has been added which features a data table +with charting functions. It uses an XSLT stylesheet to convert PMD's XML format into HTML. + +See [the example report](report-examples/html-report-v2.html). + +### Fixed Issues +* apex-bestpractices + * [#2669](https://github.com/pmd/pmd/issues/2669): \[apex] UnusedLocalVariable false positive in dynamic SOQL +* core + * [#4026](https://github.com/pmd/pmd/issues/4026): \[cli] Filenames printed as absolute paths in the report despite parameter `--short-names` + * [#4279](https://github.com/pmd/pmd/issues/4279): \[core] Can not set ruleset property value to empty + * [#4329](https://github.com/pmd/pmd/pull/4329): \[core] Refactor usage of snakeyaml + * [#4340](https://github.com/pmd/pmd/issues/4340): \[core] Allow to filter found matches in CPDReport +* java + * [#4364](https://github.com/pmd/pmd/issues/4364): \[java] Parsing error with textblock containing quote followed by two backslashes +* testing + * [#4236](https://github.com/pmd/pmd/issues/4236): \[test] kotest logs look broken + +### API Changes + +#### PMD CLI + +* PMD now supports a new `--relativize-paths-with` flag (or short `-z`), which replaces `--short-names`. + It serves the same purpose: Shortening the pathnames in the reports. However, with the new flag it's possible + to explicitly define one or more pathnames that should be used as the base when creating relative paths. + The old flag `--short-names` is deprecated. + +#### Deprecated APIs + +##### For removal + +* ApexRootNode#getApexVersion has been deprecated for removal. The version returned is + always `Version.CURRENT`, as the apex compiler integration doesn't use additional information which Apex version + actually is used. Therefore, this method can't be used to determine the Apex version of the project + that is being analyzed. +* CPDConfiguration#setEncoding and + CPDConfiguration#getEncoding. Use the methods + getSourceEncoding and + setSourceEncoding instead. Both are available + for `CPDConfiguration` which extends `AbstractConfiguration`. +* BaseCLITest and BaseCPDCLITest have been deprecated for removal without + replacement. CLI tests should be done in pmd-core only (and in PMD7 in pmd-cli). Individual language modules + shouldn't need to test the CLI integration logic again. Instead, the individual language modules should test their + functionality as unit tests. +* CPDConfiguration.LanguageConverter + +* FileCollector#addZipFile has been deprecated. It is replaced + by FileCollector#addZipFileWithContent which directly adds the + content of the zip file for analysis. + +* PMDConfiguration#setReportShortNames and + PMDConfiguration#isReportShortNames have been deprecated for removal. + Use PMDConfiguration#addRelativizeRoot instead. + +##### Internal APIs + +* CSVWriter +* Some fields in AbstractAntTestHelper + +##### Experimental APIs + +* CPDReport has a new method which limited mutation of a given report: + * filterMatches creates a new CPD report + with some matches removed with a given predicate based filter. + +### External Contributions +* [#4110](https://github.com/pmd/pmd/pull/4110): \[apex] Feature/unused variable bind false positive with dynamic SOQL - [Thomas Prouvot](https://github.com/tprouvot) (@tprouvot) +* [#4125](https://github.com/pmd/pmd/pull/4125): \[core] New report format html-report-v2.xslt to provide html with datatable and chart features - [Mohan Chinnappan](https://github.com/mohan-chinnappan-n) - (@mohan-chinnappan-n) +* [#4280](https://github.com/pmd/pmd/pull/4280): \[apex] Deprecate ApexRootNode.getApexVersion - [Aaron Hurst](https://github.com/aaronhurst-google) (@aaronhurst-google) +* [#4285](https://github.com/pmd/pmd/pull/4285): \[java] CommentDefaultAccessModifier - add co.elastic.clients.util.VisibleForTesting as default suppressed annotation - [Matthew Luckam](https://github.com/mluckam) (@mluckam) + +### Stats +* 107 commits +* 19 closed tickets & PRs +* Days since last release: 27 + ## 31-December-2022 - 6.53.0 The PMD team is pleased to announce PMD 6.53.0. diff --git a/pom.xml b/pom.xml index 49d19a7433..f5d32ea8d8 100644 --- a/pom.xml +++ b/pom.xml @@ -76,7 +76,7 @@ - 2022-12-31T17:22:09Z + 2023-01-28T09:31:52Z 8 @@ -445,22 +445,22 @@ net.sourceforge.pmd pmd-core - 6.53.0 + 6.54.0 net.sourceforge.pmd pmd-java - 6.53.0 + 6.54.0 net.sourceforge.pmd pmd-jsp - 6.53.0 + 6.54.0 net.sourceforge.pmd pmd-javascript - 6.53.0 + 6.54.0