30 August 2024
The PMD team is pleased to announce PMD 7.5.0.
This is a minor release.
This release of PMD brings support for Java 23. There are no new standard language features, but a couple of preview language features:
Note that String Templates (introduced as preview in Java 21 and 22) are not supported anymore in Java 23, see JDK-8329949 for details.
In order to analyze a project with PMD that uses these preview language features,
youβll need to enable it via the environment variable PMD_JAVA_OPTS
and select the new language
version 23-preview
:
export PMD_JAVA_OPTS=--enable-preview
pmd check --use-version java-23-preview ...
Note: Support for Java 21 preview language features have been removed. The version β21-previewβ are no longer available.
AvoidSynchronizedStatement
finds synchronization blocks that
could cause performance issues with virtual threads due to pinning.AvoidConsoleStatements
finds any function calls
on the Console API (e.g. console.log
). Using these in production code might negatively impact performance.JspParserImpl
is deprecated now. It should have been package-private
because this is an implementation class that should not be used directly.MergeUpdateClausePrefix
is deprecated. This production is
not used anymore and will be removed. Note: The whole parser implementation class has been deprecated since 7.3.0,
as it is supposed to be internalized.VtlParserImpl
is deprecated now. It should have been package-private
because this is an implementation class that should not be used directly.VfParserImpl
is deprecated now. It should have been package-private
because this is an implementation class that should not be used directly.