Skip to content

Commit 41e5fb1

Browse files
committed
Prepare pmd release 7.12.0
1 parent de8d0ef commit 41e5fb1

File tree

2 files changed

+124
-4
lines changed

2 files changed

+124
-4
lines changed

_config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ exclude:
2525
# PMD vars #
2626
# ----------------------- #
2727
pmd:
28-
latestVersion: 7.11.0
29-
latestVersionDate: 28-February-2025
28+
latestVersion: 7.12.0
29+
latestVersionDate: 28-March-2025
3030
downloads:
31+
- version: 7.11.0
32+
date: 28-February-2025
3133
- version: 7.10.0
3234
date: 31-January-2025
3335
- version: 7.9.0
3436
date: 27-December-2024
35-
- version: 7.8.0
36-
date: 29-November-2024
3737

3838
# ----------------------- #
3939
# Jekyll & Plugins #

_posts/2025-03-28-PMD-7.12.0.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
layout: post
3+
title: PMD 7.12.0 released
4+
---
5+
6+
## 28-March-2025 - 7.12.0
7+
8+
The PMD team is pleased to announce PMD 7.12.0.
9+
10+
This is a minor release.
11+
12+
### Table Of Contents
13+
14+
* [🚀 New and noteworthy](#new-and-noteworthy)
15+
* [✨ New Rules](#new-rules)
16+
* [🐛 Fixed Issues](#fixed-issues)
17+
* [🚨 API Changes](#api-changes)
18+
* [Deprecations](#deprecations)
19+
* [✨ Merged pull requests](#merged-pull-requests)
20+
* [📦 Dependency updates](#dependency-updates)
21+
* [📈 Stats](#stats)
22+
23+
### 🚀 New and noteworthy
24+
25+
#### ✨ New Rules
26+
27+
* The new Java rule [`ImplicitFunctionalInterface`](https://docs.pmd-code.org/pmd-doc-7.12.0/pmd_rules_java_bestpractices.html#implicitfunctionalinterface) reports functional interfaces that were
28+
not explicitly declared as such with the annotation `@FunctionalInterface`. If an interface is accidentally a functional
29+
interface, then it should bear a `@SuppressWarnings("PMD.ImplicitFunctionalInterface")`
30+
annotation to make this clear.
31+
32+
### 🐛 Fixed Issues
33+
* core
34+
* [#5593](https://github.com/pmd/pmd/issues/5593): \[core] Make renderers output files in deterministic order even when multithreaded
35+
* apex
36+
* [#5567](https://github.com/pmd/pmd/issues/5567): \[apex] Provide type information for CastExpression
37+
* apex-design
38+
* [#5616](https://github.com/pmd/pmd/issues/5616): \[apex] ExcessiveParameterList reports entire method instead of signature only
39+
* java
40+
* [#5587](https://github.com/pmd/pmd/issues/5587): \[java] Thread deadlock during PMD analysis in ParseLock.getFinalStatus
41+
* java-bestpractices
42+
* [#2849](https://github.com/pmd/pmd/issues/2849): \[java] New Rule: ImplicitFunctionalInterface
43+
* [#5369](https://github.com/pmd/pmd/issues/5369): \[java] UnusedPrivateMethod false positives with lombok.val
44+
* [#5590](https://github.com/pmd/pmd/issues/5590): \[java] LiteralsFirstInComparisonsRule not applied on constant
45+
* [#5592](https://github.com/pmd/pmd/issues/5592): \[java] UnusedAssignment false positive in record compact constructor
46+
* java-codestyle
47+
* [#5079](https://github.com/pmd/pmd/issues/5079): \[java] LocalVariableCouldBeFinal false-positive with lombok.val
48+
* [#5452](https://github.com/pmd/pmd/issues/5452): \[java] PackageCase: Suppression comment has no effect due to finding at wrong position in case of JavaDoc comment
49+
* plsql
50+
* [#4441](https://github.com/pmd/pmd/issues/4441): \[plsql] Parsing exception with XMLQUERY function in SELECT
51+
* [#5521](https://github.com/pmd/pmd/issues/5521): \[plsql] Long parse time and eventually parse error with XMLAGG order by clause
52+
53+
### 🚨 API Changes
54+
#### Deprecations
55+
* java
56+
* The method <a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/ast/AbstractJavaExpr.html#buildConstValue()"><code>buildConstValue</code></a> is deprecated for removal. It should
57+
have been package-private from the start. In order to get the (compile time) const value of an expression, use
58+
<a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/ast/ASTExpression.html#getConstValue()"><code>getConstValue</code></a> or <a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/ast/ASTExpression.html#getConstFoldingResult()"><code>getConstFoldingResult</code></a>
59+
instead.
60+
* For the same reason, the following methods are also deprecated for removal:
61+
<a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/ast/ASTNumericLiteral.html#buildConstValue()"><code>buildConstValue</code></a> and <a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/ast/ASTStringLiteral.html#buildConstValue()"><code>buildConstValue</code></a>.
62+
63+
- <a href="https://docs.pmd-code.org/apidocs/pmd-java/7.12.0/net/sourceforge/pmd/lang/java/types/JTypeVar.html#withUpperbound(net.sourceforge.pmd.types.JTypeMirror)"><code>JTypeVar#withUpperbound</code></a> is deprecated. It was previously meant to be used
64+
internally and not needed anymore.
65+
66+
### ✨ Merged pull requests
67+
<!-- content will be automatically generated, see /do-release.sh -->
68+
* [#5550](https://github.com/pmd/pmd/pull/5550): Fix #5521: \[plsql] Improve parser performance by reducing lookaheads - [Andreas Dangel](https://github.com/adangel) (@adangel)
69+
* [#5554](https://github.com/pmd/pmd/pull/5554): Fix #5369: \[java] Consider that lombok.val and var are inferred - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
70+
* [#5555](https://github.com/pmd/pmd/pull/5555): Fix #2849: \[java] Add rule ImplicitFunctionalInterface - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
71+
* [#5556](https://github.com/pmd/pmd/pull/5556): \[ci] New workflow "Publish Results from Pull Requests" - [Andreas Dangel](https://github.com/adangel) (@adangel)
72+
* [#5574](https://github.com/pmd/pmd/pull/5574): Fix #5567: \[apex] Provide type info for CastExpression - [Andreas Dangel](https://github.com/adangel) (@adangel)
73+
* [#5583](https://github.com/pmd/pmd/pull/5583): \[java] Fix race condition in ClassStub for inner classes - [Andreas Dangel](https://github.com/adangel) (@adangel)
74+
* [#5586](https://github.com/pmd/pmd/pull/5586): \[java/core] Micro optimizations - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
75+
* [#5588](https://github.com/pmd/pmd/pull/5588): \[java] Fix crash when parsing class for anonymous class - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
76+
* [#5591](https://github.com/pmd/pmd/pull/5591): Fix #5587: \[java] Fix deadlock while loading ClassStub - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
77+
* [#5593](https://github.com/pmd/pmd/pull/5593): \[core] Make renderers output files in deterministic order even when multithreaded - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
78+
* [#5595](https://github.com/pmd/pmd/pull/5595): Fix #5590: \[java] LiteralsFirstInComparisons with constant field - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
79+
* [#5596](https://github.com/pmd/pmd/pull/5596): Fix #4441: \[plsql] XMLQuery - Support identifier as XQuery_string parameter - [Andreas Dangel](https://github.com/adangel) (@adangel)
80+
* [#5598](https://github.com/pmd/pmd/pull/5598): Fix #5592: \[java] Fix UnusedAssignment FP with compact record ctor - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
81+
* [#5600](https://github.com/pmd/pmd/pull/5600): Fix #5079: \[java] LocalVariableCouldBeFinal false-positive with lombok.val - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
82+
* [#5611](https://github.com/pmd/pmd/pull/5611): Fix #5452: \[java] PackageCase reported on wrong line - [Clément Fournier](https://github.com/oowekyala) (@oowekyala)
83+
* [#5617](https://github.com/pmd/pmd/pull/5617): Fix #5616: \[apex] ExcessiveParameterList: Report only method signature - [Andreas Dangel](https://github.com/adangel) (@adangel)
84+
* [#5618](https://github.com/pmd/pmd/pull/5618): \[doc] Fix search index - [Andreas Dangel](https://github.com/adangel) (@adangel)
85+
86+
### 📦 Dependency updates
87+
<!-- content will be automatically generated, see /do-release.sh -->
88+
* [#5558](https://github.com/pmd/pmd/pull/5558): Bump PMD from 7.10.0 to 7.11.0
89+
* [#5561](https://github.com/pmd/pmd/pull/5561): Bump org.apache.groovy:groovy from 4.0.25 to 4.0.26
90+
* [#5562](https://github.com/pmd/pmd/pull/5562): Bump org.junit.platform:junit-platform-suite from 1.11.4 to 1.12.0
91+
* [#5564](https://github.com/pmd/pmd/pull/5564): Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.0 to 3.4.1
92+
* [#5565](https://github.com/pmd/pmd/pull/5565): Bump org.apache.maven.plugins:maven-deploy-plugin from 3.1.3 to 3.1.4
93+
* [#5566](https://github.com/pmd/pmd/pull/5566): Bump io.github.apex-dev-tools:apex-ls_2.13 from 5.7.0 to 5.8.0
94+
* [#5571](https://github.com/pmd/pmd/pull/5571): Bump nokogiri from 1.16.7 to 1.18.3
95+
* [#5572](https://github.com/pmd/pmd/pull/5572): Bump uri from 0.13.1 to 1.0.3
96+
* [#5575](https://github.com/pmd/pmd/pull/5575): Bump org.jsoup:jsoup from 1.18.3 to 1.19.1
97+
* [#5576](https://github.com/pmd/pmd/pull/5576): Bump scalameta.version from 4.13.2 to 4.13.3
98+
* [#5577](https://github.com/pmd/pmd/pull/5577): Bump org.yaml:snakeyaml from 2.3 to 2.4
99+
* [#5578](https://github.com/pmd/pmd/pull/5578): Bump com.google.protobuf:protobuf-java from 4.29.3 to 4.30.0
100+
* [#5580](https://github.com/pmd/pmd/pull/5580): Bump net.bytebuddy:byte-buddy from 1.17.1 to 1.17.2
101+
* [#5581](https://github.com/pmd/pmd/pull/5581): Bump com.puppycrawl.tools:checkstyle from 10.21.3 to 10.21.4
102+
* [#5582](https://github.com/pmd/pmd/pull/5582): Bump the gems liquid to 5.8.1 and logger to 1.6.6
103+
* [#5602](https://github.com/pmd/pmd/pull/5602): Bump org.apache.maven.plugins:maven-install-plugin from 3.1.3 to 3.1.4
104+
* [#5603](https://github.com/pmd/pmd/pull/5603): Bump net.bytebuddy:byte-buddy-agent from 1.17.1 to 1.17.2
105+
* [#5604](https://github.com/pmd/pmd/pull/5604): Bump org.mockito:mockito-core from 5.15.2 to 5.16.1
106+
* [#5605](https://github.com/pmd/pmd/pull/5605): Bump org.junit.platform:junit-platform-suite from 1.12.0 to 1.12.1
107+
* [#5606](https://github.com/pmd/pmd/pull/5606): Bump org.checkerframework:checker-qual from 3.49.0 to 3.49.1
108+
* [#5608](https://github.com/pmd/pmd/pull/5608): Bump com.google.protobuf:protobuf-java from 4.30.0 to 4.30.1
109+
* [#5619](https://github.com/pmd/pmd/pull/5619): Bump nokogiri from 1.18.3 to 1.18.5
110+
* [#5624](https://github.com/pmd/pmd/pull/5624): Bump scalameta.version from 4.13.3 to 4.13.4
111+
* [#5627](https://github.com/pmd/pmd/pull/5627): Bump net.bytebuddy:byte-buddy-agent from 1.17.2 to 1.17.4
112+
* [#5628](https://github.com/pmd/pmd/pull/5628): Bump io.github.apex-dev-tools:apex-ls_2.13 from 5.8.0 to 5.9.0
113+
* [#5629](https://github.com/pmd/pmd/pull/5629): Bump com.google.guava:guava from 33.4.0-jre to 33.4.5-jre
114+
* [#5630](https://github.com/pmd/pmd/pull/5630): Bump net.bytebuddy:byte-buddy from 1.17.2 to 1.17.4
115+
116+
### 📈 Stats
117+
<!-- content will be automatically generated, see /do-release.sh -->
118+
* 114 commits
119+
* 28 closed tickets & PRs
120+
* Days since last release: 27

0 commit comments

Comments
 (0)