2017-08-15 14:08:48 +02:00
|
|
|
---
|
|
|
|
title: PMD Release Notes
|
|
|
|
permalink: pmd_release_notes.html
|
|
|
|
keywords: changelog, release notes
|
|
|
|
---
|
2014-01-03 11:55:46 +01:00
|
|
|
|
2018-09-02 14:30:21 +02:00
|
|
|
## {{ site.pmd.date }} - {{ site.pmd.version }}
|
2016-04-23 18:30:13 +02:00
|
|
|
|
2024-03-22 09:35:44 +01:00
|
|
|
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
|
2023-04-29 23:46:45 +02:00
|
|
|
|
2024-03-22 09:35:44 +01:00
|
|
|
This is a {{ site.pmd.release_type }} release.
|
2016-07-07 20:48:01 +02:00
|
|
|
|
2018-09-30 10:47:07 +02:00
|
|
|
{% tocmaker is_release_notes_processor %}
|
2017-04-29 20:22:28 +02:00
|
|
|
|
2024-03-22 09:35:44 +01:00
|
|
|
### 🚀 New and noteworthy
|
2023-03-03 11:44:21 +01:00
|
|
|
|
2024-04-04 08:56:22 +02:00
|
|
|
### 🌟 Rule Changes
|
|
|
|
|
|
|
|
* {%rule java/bestpractices/JUnitTestsShouldIncludeAssert %} and {% rule java/bestpractices/JUnitTestContainsTooManyAsserts %}
|
|
|
|
have a new property named `extraAssertMethodNames`. With this property, you can configure which additional static
|
|
|
|
methods should be considered as valid verification methods. This allows to use custom mocking or assertion libraries.
|
|
|
|
|
2023-03-03 11:44:21 +01:00
|
|
|
### 🐛 Fixed Issues
|
2024-04-04 15:26:52 +02:00
|
|
|
* core
|
|
|
|
* [#494](https://github.com/pmd/pmd/issues/494): \[core] Adopt JApiCmp to enforce control over API changes
|
2024-03-29 11:07:32 +01:00
|
|
|
* cli
|
|
|
|
* [#4791](https://github.com/pmd/pmd/issues/4791): \[cli] Could not find or load main class
|
2024-04-03 12:13:24 -03:00
|
|
|
* [#4913](https://github.com/pmd/pmd/issues/4913): \[cli] cpd-gui closes immediately
|
2024-04-06 11:16:06 +02:00
|
|
|
* apex
|
|
|
|
* [#4418](https://github.com/pmd/pmd/issues/4418): \[apex] ASTAnnotation.getImage() does not return value as written in the class
|
2024-04-04 16:49:43 +02:00
|
|
|
* apex-errorprone
|
|
|
|
* [#3953](https://github.com/pmd/pmd/issues/3953): \[apex] EmptyCatchBlock false positive with formal (doc) comments
|
2024-04-07 01:49:51 -03:00
|
|
|
* java
|
|
|
|
* [#4902](https://github.com/pmd/pmd/issues/4902): \[java] "Bad intersection, unrelated class types" for Constable\[] and Enum\[]
|
2023-04-29 23:46:45 +02:00
|
|
|
* java-bestpractices
|
2024-04-04 08:56:22 +02:00
|
|
|
* [#1084](https://github.com/pmd/pmd/issues/1084): \[java] Allow JUnitTestsShouldIncludeAssert to configure verification methods
|
2024-03-25 20:13:09 +01:00
|
|
|
* [#4435](https://github.com/pmd/pmd/issues/4435): \[java] \[7.0-rc1] UnusedAssignment for used field
|
2024-04-02 19:22:26 +02:00
|
|
|
* [#4569](https://github.com/pmd/pmd/issues/4569): \[java] ForLoopCanBeForeach reports on loop `for (int i = 0; i < list.size(); i += 2)`
|
2024-04-03 20:31:47 +02:00
|
|
|
* [#4618](https://github.com/pmd/pmd/issues/4618): \[java] UnusedAssignment false positive with conditional assignments of fields
|
2023-04-29 23:46:45 +02:00
|
|
|
* java-codestyle
|
2024-04-04 23:25:29 -03:00
|
|
|
* [#4602](https://github.com/pmd/pmd/issues/4602): \[java] UnnecessaryImport: false positives with static imports
|
|
|
|
* [#4785](https://github.com/pmd/pmd/issues/4785): \[java] False Positive: PMD Incorrectly report violation for UnnecessaryImport
|
2024-04-07 01:51:41 -03:00
|
|
|
* [#4779](https://github.com/pmd/pmd/issues/4779): \[java] Examples in documentation of MethodArgumentCanBeFinal do not trigger the rule
|
2024-03-24 16:16:40 +01:00
|
|
|
* [#4881](https://github.com/pmd/pmd/issues/4881): \[java] ClassNamingConventions: interfaces are identified as abstract classes (regression in 7.0.0)
|
2023-04-29 23:46:45 +02:00
|
|
|
* java-design
|
2024-04-03 20:31:47 +02:00
|
|
|
* [#3694](https://github.com/pmd/pmd/issues/3694): \[java] SingularField ignores static variables
|
2024-03-24 15:46:52 +01:00
|
|
|
* [#4873](https://github.com/pmd/pmd/issues/4873): \[java] AvoidCatchingGenericException: Can no longer suppress on the exception itself
|
2024-04-04 17:27:49 +02:00
|
|
|
* java-errorprone
|
2024-03-31 02:14:35 -03:00
|
|
|
* [#2056](https://github.com/pmd/pmd/issues/2056): \[java] CloseResource false-positive with URLClassLoader in cast expression
|
2024-04-04 17:27:49 +02:00
|
|
|
* [#4928](https://github.com/pmd/pmd/issues/4928): \[java] EmptyCatchBlock false negative when allowCommentedBlocks=true
|
2023-04-29 23:46:45 +02:00
|
|
|
* java-performance
|
2024-03-25 00:11:19 -03:00
|
|
|
* [#3845](https://github.com/pmd/pmd/issues/3845): \[java] InsufficientStringBufferDeclaration should consider literal expression
|
2024-03-22 19:38:07 +01:00
|
|
|
* [#4874](https://github.com/pmd/pmd/issues/4874): \[java] StringInstantiation: False-positive when using `new String(charArray)`
|
2024-03-25 19:30:06 +01:00
|
|
|
* [#4886](https://github.com/pmd/pmd/issues/4886): \[java] BigIntegerInstantiation: False Positive with Java 17 and BigDecimal.TWO
|
2024-04-02 12:52:55 -03:00
|
|
|
* pom-errorprone
|
|
|
|
* [#4388](https://github.com/pmd/pmd/issues/4388): \[pom] InvalidDependencyTypes doesn't consider dependencies at all
|
2023-04-29 23:46:45 +02:00
|
|
|
|
2024-03-22 09:35:44 +01:00
|
|
|
### 🚨 API Changes
|
2023-04-29 23:46:45 +02:00
|
|
|
|
2024-04-04 15:20:51 +02:00
|
|
|
#### Deprecated methods
|
|
|
|
|
|
|
|
* {%jdoc java::lang.java.rule.design.SingularFieldRule#mayBeSingular(java::lang.java.ast.ModifierOwner) %} has been deprecated for
|
|
|
|
removal. The method is only useful for the rule itself and shouldn't be used otherwise.
|
|
|
|
|
2023-05-30 20:16:28 +02:00
|
|
|
### ✨ External Contributions
|
2024-04-04 08:56:22 +02:00
|
|
|
* [#4864](https://github.com/pmd/pmd/pull/4864): Fix #1084 \[Java] add extra assert method names to Junit rules - [Erwan Moutymbo](https://github.com/emouty) (@emouty)
|
2024-03-29 11:07:32 +01:00
|
|
|
* [#4894](https://github.com/pmd/pmd/pull/4894): Fix #4791 Error caused by space in JDK path - [Scrates1](https://github.com/Scrates1) (@Scrates1)
|
2023-04-29 23:46:45 +02:00
|
|
|
|
|
|
|
{% endtocmaker %}
|
2024-03-21 10:47:14 +01:00
|
|
|
|