pmd/docs/pages/release_notes.md

84 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

---
title: PMD Release Notes
permalink: pmd_release_notes.html
keywords: changelog, release notes
---
## {{ site.pmd.date | date: "%d-%B-%Y" }} - {{ site.pmd.version }}
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
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
### 🚀 New and noteworthy
2024-08-29 12:48:14 +02:00
### 🌟 New and changed rules
#### New Rules
* The new Apex rule {% rule apex/bestpractices/QueueableWithoutFinalizer %} detects when the Queueable interface
is used but a Finalizer is not attached. Without attaching a Finalizer, there is no way of designing error
recovery actions should the Queueable action fail.
2023-03-03 11:44:21 +01:00
### 🐛 Fixed Issues
2024-10-31 15:06:32 +01:00
* ant
* [#1860](https://github.com/pmd/pmd/issues/1860): \[ant] Reflective access warnings on java > 9 and java < 17
* apex
* [#5302](https://github.com/pmd/pmd/issues/5302): \[apex] New Rule: Queueable Should Attach Finalizer
* [#5333](https://github.com/pmd/pmd/issues/5333): \[apex] Token recognition errors for string containing unicode escape sequence
2024-11-14 14:38:45 -06:00
* html
2024-11-17 15:24:49 +01:00
* [#5322](https://github.com/pmd/pmd/issues/5322): \[html] CPD throws exception on when HTML file is missing closing tag
2024-11-04 11:21:25 +01:00
* java
* [#5293](https://github.com/pmd/pmd/issues/5293): \[java] Deadlock when executing PMD in multiple threads
2024-11-14 15:50:35 +01:00
* [#5324](https://github.com/pmd/pmd/issues/5324): \[java] Issue with type inference of nested lambdas
* [#5329](https://github.com/pmd/pmd/issues/5329): \[java] Type inference issue with unknown method ref in call chain
2024-11-15 16:14:53 -03:00
* java-bestpractices
* [#5083](https://github.com/pmd/pmd/issues/5083): \[java] UnusedPrivateMethod false positive when method reference has no target type
2024-11-15 18:39:39 -03:00
* [#5097](https://github.com/pmd/pmd/issues/5097): \[java] UnusedPrivateMethod FP with raw type missing from the classpath
* [#5318](https://github.com/pmd/pmd/issues/5318): \[java] PreserveStackTraceRule: false-positive on Pattern Matching with instanceof
* java-codestyle
* [#5263](https://github.com/pmd/pmd/issues/5263): \[java] UnnecessaryFullyQualifiedName: false-positive in an enum that uses its own static variables
* java-performance
* [#5287](https://github.com/pmd/pmd/issues/5287): \[java] TooFewBranchesForSwitch false-positive with switch using list of case constants
* [#5314](https://github.com/pmd/pmd/issues/5314): \[java] InsufficientStringBufferDeclarationRule: Lack of handling for char type parameters
2024-06-28 10:42:31 +02:00
### 🚨 API Changes
2024-09-27 10:49:57 +02:00
2024-10-31 12:22:59 +01:00
#### Deprecations
2024-11-17 16:12:46 +01:00
* pmd-gherkin
* {%jdoc gherkin::lang.gherkin.ast.GherkinBaseListener %} is deprecated for removal. This class was never intended
to be generated. It will be removed with no replacement.
* {%jdoc gherkin::lang.gherkin.ast.GherkinBaseVisitor %} is deprecated for removal. This class was never intended
to be generated. It will be removed with no replacement.
* {%jdoc gherkin::lang.gherkin.ast.GherkinListener %} is deprecated for removal. This class was never intended
to be generated. It will be removed with no replacement.
* {%jdoc gherkin::lang.gherkin.ast.GherkinParser %} is deprecated for removal. This class was never intended
to be generated. It will be removed with no replacement.
* {%jdoc gherkin::lang.gherkin.ast.GherkinVisitor %} is deprecated for removal. This class was never intended
to be generated. It will be removed with no replacement.
2024-11-17 16:15:55 +01:00
* pmd-julia
* {%jdoc julia::lang.julia.ast.JuliaBaseListener %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
* {%jdoc julia::lang.julia.ast.JuliaBaseVisitor %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
* {%jdoc julia::lang.julia.ast.JuliaListener %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
* {%jdoc julia::lang.julia.ast.JuliaParser %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
* {%jdoc julia::lang.julia.ast.JuliaVisitor %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
2024-11-17 15:58:05 +01:00
* pmd-kotlin
* {%jdoc kotlin::lang.kotlin.ast.UnicodeClasses %} is deprecated for removal. This class was never intended to
be generated. It will be removed with no replacement.
2024-10-31 12:22:59 +01:00
* pmd-xml
* {%jdoc xml::lang.xml.antlr4.XMLLexer %} is deprecated for removal. Use {%jdoc !!xml::lang.xml.ast.XMLLexer %}
instead (note different package `ast` instead of `antlr4`).
### ✨ External Contributions
* [#5284](https://github.com/pmd/pmd/pull/5284): \[apex] Use case-insensitive input stream to avoid choking on Unicode escape sequences - [Willem A. Hajenius](https://github.com/wahajenius) (@wahajenius)
* [#5303](https://github.com/pmd/pmd/pull/5303): \[apex] New Rule: Queueable Should Attach Finalizer - [Mitch Spano](https://github.com/mitchspano) (@mitchspano)
2024-10-25 08:47:38 +02:00
{% endtocmaker %}