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
|
|
|
|
2018-08-14 17:07:53 +02:00
|
|
|
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
|
2016-07-27 22:03:51 +02:00
|
|
|
|
2018-08-14 17:07:53 +02: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
|
|
|
|
2021-08-28 17:31:18 +02:00
|
|
|
### New and noteworthy
|
|
|
|
|
2016-12-13 13:38:59 -03:00
|
|
|
### Fixed Issues
|
2018-09-05 01:16:04 -03:00
|
|
|
|
2022-02-12 19:04:14 +01:00
|
|
|
* java-performance
|
|
|
|
* [#3374](https://github.com/pmd/pmd/issues/3374): \[java] UseStringBufferForStringAppends: Wrong example in documentation
|
2022-02-03 20:03:17 +01:00
|
|
|
* misc
|
|
|
|
* [#3759](https://github.com/pmd/pmd/issues/3759): \[lang-test] Upgrade dokka maven plugin to 1.4.32
|
2022-02-11 21:25:36 +01:00
|
|
|
* java
|
|
|
|
* [#3698](https://github.com/pmd/pmd/issues/3697): \[java] Parsing error with try-with-resources and qualified resource
|
2022-02-08 19:41:01 +01:00
|
|
|
* java-codestyle
|
|
|
|
* [#278](https://github.com/pmd/pmd/issues/278): \[java] ConfusingTernary should treat `!= null` as positive condition
|
2022-02-03 20:03:17 +01:00
|
|
|
|
2021-08-28 17:31:18 +02:00
|
|
|
### API Changes
|
2021-08-07 14:49:01 +02:00
|
|
|
|
2022-02-06 13:57:30 +01:00
|
|
|
#### Deprecated API
|
|
|
|
|
|
|
|
Some API deprecations were performed in core PMD classes, to improve compatibility with PMD 7.
|
2022-02-18 11:33:05 +01:00
|
|
|
- {% jdoc core::Report %}: the constructor and other construction methods like addViolation or createReport
|
2022-02-06 13:57:30 +01:00
|
|
|
- {% jdoc core::RuleContext %}: all constructors, getters and setters. A new set
|
|
|
|
of stable methods, matching those in PMD 7, was added to replace the `addViolation`
|
|
|
|
overloads of {% jdoc core::lang.rule.AbstractRule %}. In PMD 7, `RuleContext` will
|
|
|
|
be the API to report violations, and it can already be used as such in PMD 6.
|
2022-02-18 11:33:05 +01:00
|
|
|
- The field {% jdoc core::PMD#configuration %} is unused and will be removed.
|
|
|
|
|
|
|
|
#### Internal API
|
|
|
|
|
|
|
|
Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
|
|
|
|
You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
|
|
|
|
|
2022-02-06 13:57:30 +01:00
|
|
|
- {% jdoc core::RuleSet %}: methods that serve to apply rules, including `apply`, `start`, `end`, `removeDysfunctionalRules`
|
2022-02-18 11:33:05 +01:00
|
|
|
- {% jdoc !!core::renderers.AbstractAccumulatingRenderer#renderFileReport(Report) %} is internal API
|
|
|
|
and should not be overridden in own renderers.
|
2022-02-06 13:57:30 +01:00
|
|
|
|
|
|
|
#### Changed API
|
|
|
|
|
|
|
|
It is now forbidden to report a violation:
|
|
|
|
- With a `null` node
|
|
|
|
- With a `null` message
|
|
|
|
- With a `null` set of format arguments (prefer a zero-length array)
|
|
|
|
|
2022-02-06 13:58:27 +01:00
|
|
|
Note that the message is set from the XML rule declaration, so this is only relevant
|
|
|
|
if you instantiate rules manually.
|
|
|
|
|
2022-02-06 13:57:30 +01:00
|
|
|
{% jdoc core::RuleContext %} now requires setting the current rule before calling
|
2022-02-16 22:01:21 +01:00
|
|
|
{% jdoc core::Rule#apply(java.util.List, core::RuleContext) %}. This is
|
2022-02-06 13:57:30 +01:00
|
|
|
done automatically by `RuleSet#apply` and such. Creating and configuring a
|
|
|
|
`RuleContext` manually is strongly advised against, as the lifecycle of `RuleContext`
|
|
|
|
will change drastically in PMD 7.
|
|
|
|
|
2017-12-20 23:24:37 -03:00
|
|
|
### External Contributions
|
2021-05-29 07:13:48 +02:00
|
|
|
|
2022-02-13 19:13:02 +01:00
|
|
|
* [#3767](https://github.com/pmd/pmd/pull/3767): \[core] Update GUI.java - [Vyom Yadav](https://github.com/Vyom-Yadav)
|
2022-02-11 21:49:37 +01:00
|
|
|
|
2018-08-18 16:44:45 +02:00
|
|
|
{% endtocmaker %}
|
2021-05-29 07:13:48 +02:00
|
|
|
|