3.5 KiB
title | permalink | keywords |
---|---|---|
PMD Release Notes | pmd_release_notes.html | changelog, release notes |
{{ site.pmd.date }} - {{ site.pmd.version }}
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
This is a {{ site.pmd.release_type }} release.
{% tocmaker is_release_notes_processor %}
New and noteworthy
Full Antlr support
Languages backed by an Antlr grammar are now fully supported. This means, it's now possible not only to use Antlr grammars for CPD, but we can actually build full-fledged PMD rules for them as well. Both the traditional Java visitor rules, and the simpler XPath rules are available to users.
We expect this to enable both our dev team and external contributors to largely extend PMD usage for more languages.
Swift support
Given the full Antlr support, PMD now fully supports Swift. We are pleased to announce we are shipping a number of rules starting with PMD 7.
- {% rule "swift/errorprone/ForceCast" %} (
swift-errorprone
) flags all force casts, making sure you are defensively considering all types. Having the application crash shouldn't be an option. - {% rule "swift/errorprone/ForceTry" %} (
swift-errorprone
) flags all force tries, making sure you are defensively handling exceptions. Having the application crash shouldn't be an option. - {% rule "swift/bestpractices/ProhibitedInterfaceBuilder" %} (
swift-bestpractices
) flags any usage of interface builder. Interface builder files are prone to merge conflicts, and are impossible to code review, so larger teams usually try to avoid it or reduce it's usage. - {% rule "swift/bestpractices/UnavailableFunction" %} (
swift-bestpractices
) flags any function throwing afatalError
not marked as@available(*, unavailable)
to ensure no calls are actually performed in the codebase.
Fixed Issues
API Changes
-
#1648: [apex,vf] Remove CodeClimate dependency - Robert Sösemann Properties "cc_categories", "cc_remediation_points_multiplier", "cc_block_highlighting" can no longer be overridden in rulesets. They were deprecated without replacement.
-
The old GUI applications accessible through
run.sh designerold
andrun.sh bgastviewer
(and corresponding Batch scripts) have been removed from the PMD distribution. Please use the newer rule designer withrun.sh designer
. The corresponding classes in packagesjava.net.sourceforge.pmd.util.viewer
andjava.net.sourceforge.pmd.util.designer
have all been removed.
External Contributions
- #1658: [core] Node support for Antlr-based languages - Matías Fraga
- #1698: [core] [swift] Antlr Base Parser adapter and Swift Implementation - Lucas Soncini
- #1774: [core] Antlr visitor rules - Lucas Soncini
- #1877: [swift] Feature/swift rules - Matias Fraga
- #1882: [swift] UnavailableFunction Swift rule - Tomás de Lucca
{% endtocmaker %}