Files
pmd/docs/pages/release_notes.md

173 lines
6.0 KiB
Markdown

Added line: 8969
Added line: 5307
---
Added line: 1938
Added line: 3647
Added line: 9189
Added line: 5960
Added line: 9040
Added line: 901
title: PMD Release Notes
permalink: pmd_release_notes.html
keywords: changelog, release notes
Added line: 1839
Added line: 7872
Added line: 9785
Added line: 9040
---
## {{ site.pmd.date | date: "%d-%B-%Y" }} - {{ site.pmd.version }}
Added line: 1006
Added line: 8601
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
Added line: 555
Added line: 1076
Added line: 8221
Added line: 8512
Added line: 9424
Added line: 7168
Added line: 7836
Added line: 4286
Added line: 8332
Added line: 5357
Added line: 7401
Added line: 8565
Added line: 8673
Added line: 400
Added line: 7083
Added line: 3012
Added line: 4301
Added line: 7439
{% tocmaker is_release_notes_processor %}
### 🚀 New and noteworthy
Added line: 5734
Added line: 8600
Added line: 9573
Added line: 2458
Added line: 6192
### 🌟 New and changed rules
Added line: 984
#### New Rules
* The new Apex rule {% rule apex/bestpractices/QueueableWithoutFinalizer %} detects when the Queueable interface
Added line: 7894
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.
Added line: 8502
Added line: 8860
Added line: 536
Added line: 5240
Added line: 7811
Added line: 4174
Added line: 383
### 🐛 Fixed Issues
* ant
* [#1860](https://github.com/pmd/pmd/issues/1860): \[ant] Reflective access warnings on java > 9 and java < 17
Added line: 7742
* apex
Added line: 1202
* [#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
Added line: 146
* html
* [#5322](https://github.com/pmd/pmd/issues/5322): \[html] CPD throws exception on when HTML file is missing closing tag
Added line: 4078
* java
* [#5293](https://github.com/pmd/pmd/issues/5293): \[java] Deadlock when executing PMD in multiple threads
* [#5324](https://github.com/pmd/pmd/issues/5324): \[java] Issue with type inference of nested lambdas
Added line: 7336
Added line: 482
Added line: 3486
* [#5329](https://github.com/pmd/pmd/issues/5329): \[java] Type inference issue with unknown method ref in call chain
Added line: 8016
* java-bestpractices
* [#5083](https://github.com/pmd/pmd/issues/5083): \[java] UnusedPrivateMethod false positive when method reference has no target type
Added line: 4271
* [#5318](https://github.com/pmd/pmd/issues/5318): \[java] PreserveStackTraceRule: false-positive on Pattern Matching with instanceof
* java-codestyle
Added line: 8104
* [#5263](https://github.com/pmd/pmd/issues/5263): \[java] UnnecessaryFullyQualifiedName: false-positive in an enum that uses its own static variables
* java-performance
Added line: 7648
Added line: 7261
* [#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
Added line: 7719
### 🚨 API Changes
Added line: 6264
#### Deprecations
* pmd-gherkin
Added line: 3102
Added line: 4081
* {%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.
Added line: 8746
* {%jdoc gherkin::lang.gherkin.ast.GherkinBaseVisitor %} is deprecated for removal. This class was never intended
Added line: 7008
Added line: 9918
to be generated. It will be removed with no replacement.
Added line: 3807
Added line: 4480
* {%jdoc gherkin::lang.gherkin.ast.GherkinParser %} is deprecated for removal. This class was never intended
Added line: 9301
to be generated. It will be removed with no replacement.
Added line: 3116
* {%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.
Added line: 4189
* pmd-julia
Added line: 6188
* {%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.
Added line: 5397
* {%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.
Added line: 5926
Added line: 9586
Added line: 7610
be generated. It will be removed with no replacement.
Added line: 3510
* {%jdoc julia::lang.julia.ast.JuliaParser %} is deprecated for removal. This class was never intended to
Added line: 7218
Added line: 8351
Added line: 7320
Added line: 3091
Added line: 4583
Added line: 8398
Added line: 624
be generated. It will be removed with no replacement.
Added line: 1649
* {%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.
Added line: 1877
Added line: 430
Added line: 9000
Added line: 1472
Added line: 5215
* 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.
* pmd-xml
Added line: 3049
* {%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)
Added line: 3514
Added line: 4003
Added line: 5500
{% endtocmaker %}
Added line: 4629