pmd/docs/pages/7_0_0_release_notes.md
Juan Martín Sotuyo Dodero 6f805dabb6 Update changelog, refs #1882
2019-08-14 14:44:42 -03:00

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 a fatalError 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 and run.sh bgastviewer (and corresponding Batch scripts) have been removed from the PMD distribution. Please use the newer rule designer with run.sh designer. The corresponding classes in packages java.net.sourceforge.pmd.util.viewer and java.net.sourceforge.pmd.util.designer have all been removed.

External Contributions

{% endtocmaker %}