[pmd-devel] [ANNOUNCE] PMD 7.4.0 released
A source code analyzer
Brought to you by:
adangel,
juansotuyo
From: Andreas D. <and...@pm...> - 2024-07-26 09:07:28
|
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F7.4.0 * Documentation: https://docs.pmd-code.org/pmd-doc-7.4.0/ 26-July-2024 - 7.4.0 The PMD team is pleased to announce PMD 7.4.0. This is a minor release. Table Of Contents * 🌟 New and changed rules <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#new-and-changed-rules> o New Rules <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#new-rules> o Changed rules <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#changed-rules> o Renamed rules <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#renamed-rules> * 🐛 Fixed Issues <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#fixed-issues> * 🚨 API Changes <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#api-changes> * ✨ External Contributions <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#external-contributions> * 📈 Stats <https://sourceforge.net/p/pmd/news/2024/07/pmd-740-26-july-2024-released/#stats> 🌟 New and changed rules New Rules * The new Apex rule |AvoidNonRestrictiveQueries| <https://docs.pmd-code.org/pmd-doc-7.4.0/pmd_rules_apex_performance.html#avoidnonrestrictivequeries> finds SOQL and SOSL queries without a where or limit statement. This can quickly cause governor limit exceptions. Changed rules * |ClassNamingConventions| <https://docs.pmd-code.org/pmd-doc-7.4.0/pmd_rules_apex_codestyle.html#classnamingconventions> (Apex Codestyle): Two new properties to configure different patterns for inner classes and interfaces: |innerClassPattern| and |innerInterfacePattern|. Renamed rules * |InaccurateNumericLiteral| <https://docs.pmd-code.org/pmd-doc-7.4.0/pmd_rules_ecmascript_errorprone.html#inaccuratenumericliteral> (JavaScript Error Prone) has been renamed from |InnaccurateNumericLiteral|. The old rule name still works but is deprecated. 🐛 Fixed Issues * apex o #5094 <https://github.com/pmd/pmd/issues/5094>: [apex] "No adapter exists for type" error message printed to stdout instead of stderr * apex-bestpractices o #5095 <https://github.com/pmd/pmd/issues/5095>: [apex] ApexUnitTestShouldNotUseSeeAllDataTrue false negative due to casing (regression in PMD 7) * apex-codestyle o #4800 <https://github.com/pmd/pmd/issues/4800>: [apex] ClassNamingConvention: Support naming convention for /inner/ classes * apex-performance o #635 <https://github.com/pmd/pmd/issues/635>: [apex] New Rule: Avoid soql/sosl queries without a where clause or limit statement * java-bestpractices o #5106 <https://github.com/pmd/pmd/issues/5106>: [java] AccessorClassGeneration: Node was null for default constructor o #5110 <https://github.com/pmd/pmd/issues/5110>: [java] UnusedPrivateMethod for method referenced by lombok.Builder.ObtainVia o #5117 <https://github.com/pmd/pmd/issues/5117>: [java] UnusedPrivateMethod for methods annotated with jakarta.annotation.PostConstruct or PreDestroy * java-errorprone o #1488 <https://github.com/pmd/pmd/issues/1488>: [java] MissingStaticMethodInNonInstantiatableClass: False positive with Lombok Builder on Constructor * javascript-errorprone o #2367 <https://github.com/pmd/pmd/issues/2367>: [javascript] InnaccurateNumericLiteral is misspelled o #4716 <https://github.com/pmd/pmd/issues/4716>: [javascript] InaccurateNumericLiteral with number 259200000 * plsql o #5086 <https://github.com/pmd/pmd/pull/5086>: [plsql] Fixed issue with missing optional table alias in MERGE usage o #5087 <https://github.com/pmd/pmd/pull/5087>: [plsql] Add support for SQL_MACRO o #5088 <https://github.com/pmd/pmd/pull/5088>: [plsql] Add support for 'DEFAULT' clause on the arguments of some oracle functions o #5133 <https://github.com/pmd/pmd/issues/5133>: [plsql] AssertionError: Root of the tree should implement RootNode for a PL/SQL type declaration * cli o #5120 <https://github.com/pmd/pmd/issues/5120>: [cli] Can't start designer under Windows * core o #5091 <https://github.com/pmd/pmd/issues/5091>: [core] PMD CPD v7.3.0 gives deprecation warning for skipLexicalErrors even when not used 🚨 API Changes * javascript o The old rule name |InnaccurateNumericLiteral| has been deprecated. Use the new name |InaccurateNumericLiteral| <https://docs.pmd-code.org/pmd-doc-7.4.0/pmd_rules_ecmascript_errorprone.html#inaccuratenumericliteral> instead. ✨ External Contributions * #5048 <https://github.com/pmd/pmd/pull/5048>: [apex] Added Inner Classes to Apex Class Naming Conventions Rule - Justin Stroud <https://github.com/justinstroudbah> (@justinstroudbah / @sgnl-labs) * #5086 <https://github.com/pmd/pmd/pull/5086>: [plsql] Fixed issue with missing optional table alias in MERGE usage - Arjen Duursma <https://github.com/duursma> (@duursma) * #5087 <https://github.com/pmd/pmd/pull/5087>: [plsql] Add support for SQL_MACRO - Arjen Duursma <https://github.com/duursma> (@duursma) * #5088 <https://github.com/pmd/pmd/pull/5088>: [plsql] Add support for 'DEFAULT' clause on the arguments of some oracle functions - Arjen Duursma <https://github.com/duursma> (@duursma) * #5107 <https://github.com/pmd/pmd/pull/5107>: [doc] Update maven.md - Typo fixed for maven target - karthikaiyasamy <https://github.com/karthikaiyasamy> (@karthikaiyasamy) * #5109 <https://github.com/pmd/pmd/pull/5109>: [java] Exclude constructor with lombok.Builder for MissingStaticMethodInNonInstantiatableClass - Krzysztof Debski <https://github.com/kdebski85> (@kdebski85) * #5111 <https://github.com/pmd/pmd/pull/5111>: [java] Fix UnusedPrivateMethod for @lombok.Builder.ObtainVia - Krzysztof Debski <https://github.com/kdebski85> (@kdebski85) * #5118 <https://github.com/pmd/pmd/pull/5118>: [java] FP for UnusedPrivateMethod with Jakarta @PostConstruct/PreDestroy annotations - Krzysztof Debski <https://github.com/kdebski85> (@kdebski85) * #5121 <https://github.com/pmd/pmd/pull/5121>: [plsql] Fixed issue with missing optional table alias in MERGE usage - Arjen Duursma <https://github.com/duursma> (@duursma) 📈 Stats * 81 commits * 32 closed tickets & PRs * Days since last release: 27 |