PMD v6.29.0 Release Notes

Release Date: 2020-10-24 // over 3 years 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