Files
pmd/docs/pages/release_notes.md
Juan Martín Sotuyo Dodero b8e90e44d6 Update changelog, refs #778
2018-04-25 01:39:39 -03:00

3.3 KiB

title, permalink, keywords
title permalink keywords
PMD Release Notes pmd_release_notes.html changelog, release notes

????? - 6.3.0-SNAPSHOT

The PMD team is pleased to announce PMD 6.3.0.

This is a minor release.

Table Of Contents

New and noteworthy

Tree transversal revision

As described in #904, when searching for child nodes of the AST methods such as hasDescendantOfType, getFirstDescendantOfType and findDescendantsOfType were found to behave inconsistently, not all of them honoring find boundaries; that is, nodes that define a self-contained entity which should be considered separately (think of lambdas, nested classes, anonymous classes, etc.). We have modified these methods to ensure all of them honor find boundaries.

This change implies several false positives / unexpected results (ie: ASTBlockStatement falsely returning true to isAllocation()) have been fixed; and lots of searches are now restricted to smaller search areas, which improves performance (depending on the project, we have measured up to 10% improvements during Type Resolution, Symbol Table analysis, and some rule's application).

Swift 4.1 Support

Thanks to major contributions from kenji21 the Swift grammar has been updated to support Swift 4.1. This is a major update, since the old grammar was quite dated, and we are sure all iOS developers will enjoy it.

Unfortunately, this change is not compatible. The grammar elements that have been removed (ie: the keywords __FILE__, __LINE__, __COLUMN__ and __FUNCTION__) are no longer supported. We don't usually introduce such drastic / breaking changes in minor releases, however, given that the whole Swift ecosystem pushes hard towards always using the latest versions, and that Swift needs all code and libraries to be currently compiling against the same Swift version, we felt strongly this change was both safe and necessary to be shipped as soon as possible. We had great feedback from the comunity during the processm but if you have a legitimate use case for older Swift versions, please let us know on our Issue Tracke.

Fixed Issues

  • documentation
    • #994: [doc] Delete duplicate page contributing.md on the website
  • java-bestpracrtices
    • #370: [java] GuardLogStatementJavaUtil not considering lambdas
  • swift
    • #678: [swift][cpd] Exception when running for Swift 4 code (KeyPath)

API Changes

External Contributions