PMD v6.29.0 Release Notes

Release Date: 2020-10-24 // about 1 year ago
  • 24-October-2020 - 6.29.0

    The PMD team is pleased to announce PMD 6.29.0.

    ๐Ÿš€ This is a minor release.

    Table Of Contents

    ๐Ÿ†• New and noteworthy

    โšก๏ธ Updated Apex Support

    ๐Ÿ†• New Rules

    • The new Apex rule OperationWithLimitsInLoop (apex-performance)
      finds operations in loops that may hit governor limits such as DML operations, SOQL
      queries and more. The rule replaces the three rules "AvoidDmlStatementsInLoops", "AvoidSoqlInLoops",
      and "AvoidSoslInLoops".

    ๐Ÿ“‡ Renamed Rules

    • The Java rule DoNotCallSystemExit has been renamed to
      DoNotTerminateVM, since it checks for all the following calls:
      System.exit(int), Runtime.exit(int), Runtime.halt(int). All these calls terminate
      the Java VM, which is bad, if the VM runs an application server which many independent applications.

    ๐Ÿ—„ Deprecated Rules

    ๐Ÿ›  Fixed Issues

    • apex
      • #2839: [apex] Apex classes with safe navigation operator from Winter 21 (50.0) are skipped
    • ๐ŸŽ apex-performance
      • #1713: [apex] Mark Database DML statements in For Loop
    • core
      • #2831: [core] Fix XMLRenderer newlines when running under IBM Java
    • java-errorprone
      • #2157: [java] Improve DoNotCallSystemExit: permit call in main(), flag System.halt
      • #2764: [java] CloseResourceRule does not recognize multiple assignment done to resource
    • miscellaneous
      • #2823: [doc] Renamed/Moved rules are missing in documentation
    • vf (Salesforce VisualForce)
      • #2765: [vf] Attributes with dot cause a VfParseException

    External Contributions

    Stats

    • 50 commits
    • 23 closed tickets & PRs
    • ๐Ÿš€ Days since last release: 27

Previous changes from v6.28.0