Releases: jborgers/sonar-pmd
Release 4.2.1
What's Changed
This is a patch release.
- remove required plugins pom.xml reference for Sonar market place by @stokpop in #607
- improved regex warning message, removed "unclear messages" part by @stokpop in #608
Dependency updates
- build(deps): bump org.sonarsource.java:java-frontend from 8.18.0.40025 to 8.19.0.40387 by @dependabot[bot] in #594
- build(deps-dev): bump org.sonarsource.sonarqube:sonar-plugin-api-impl from 25.9.0.112764 to 25.10.0.114319 by @dependabot[bot] in #600
- build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 by @dependabot[bot] in #602
Full Changelog: 4.2.0...4.2.1
Release 4.2.0
What's Changed
Now supports Java 25, PMD Kotlin rules and rule customization with parameters per Quality Profile.
Adds new rules of PMD 7.17.0, fixes analysis scope for main or test sources and lowers severity of code-style issues.
Provides detailed error messages when PMD analysis fails at scanner side.
Major changes
- Java 25 by @stokpop in #587
- Activate Kotlin sensor by @stokpop in #545
- add params in sonar rules xml based on Java Rule properties by @stokpop in #537
- upgrade to PMD 7.17.0 by @stokpop in #586
- Fix Analysis scope #576 by @jborgers in #590
- adjust severity level for code-style category by @stokpop in #588
See release notes PMD rules for 4.2.0 for 10 new rules and 49 updated rules of total 292 rules.
Minor changes
- md to html utility class in sonar-pmd-lib.jar by @stokpop in #538
- activate kotlin sensor - fix for download required plugins and integration tests by @stokpop in #579
- html doc glitch by @stokpop in #585
- filter non-sonar tag 'main-sources' and fix unit test by @stokpop in #595
- Add/remove tests tag in Sonar rule if Test is in rule name #597 by @jborgers in #598
- analyse scope test & main integration test by @stokpop in #599
- no need to use reflection to enable withReporter method in pmd by @stokpop in #601
Dependencies
- build(deps-dev): bump org.sonarsource.sonarqube:sonar-plugin-api-impl from 25.6.0.109173 to 25.7.0.110598 by @dependabot[bot] in #530
- build(deps): bump org.sonarsource.api.plugin:sonar-plugin-api from 12.0.0.2960 to 13.0.0.3026 by @dependabot[bot] in #519
- build(deps): bump commons-io:commons-io from 2.19.0 to 2.20.0 by @dependabot[bot] in #547
- build(deps-dev): bump org.junit.jupiter:junit-jupiter from 5.13.3 to 5.13.4 by @dependabot[bot] in #549
- build(deps): bump org.sonarsource.java:java-frontend from 8.17.1.39878 to 8.18.0.40025 by @dependabot[bot] in #550
- build(deps): bump org.codehaus.mojo:flatten-maven-plugin from 1.7.1 to 1.7.2 by @dependabot[bot] in #552
- build(deps-dev): bump org.assertj:assertj-core from 3.27.3 to 3.27.4 by @dependabot[bot] in #555
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 by @dependabot[bot] in #556
- build(deps-dev): bump org.mockito:mockito-core from 5.18.0 to 5.19.0 by @dependabot[bot] in #557
- build(deps-dev): bump org.sonarsource.sonarqube:sonar-plugin-api-impl from 25.7.0.110598 to 25.8.0.112029 by @dependabot[bot] in #554
- build(deps): bump org.sonarsource.scanner.maven:sonar-maven-plugin from 5.1.0.4751 to 5.2.0.4988 by @dependabot[bot] in #558
- build(deps-dev): bump org.sonarsource.sonarqube:sonar-plugin-api-impl from 25.8.0.112029 to 25.9.0.112764 by @dependabot[bot] in #559
- build(deps): bump pmd.version from 7.15.0 to 7.16.0 by @dependabot[bot] in #551
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.4 by @dependabot[bot] in #566
- build(deps): bump com.google.guava:guava from 33.4.8-jre to 33.5.0-jre by @dependabot[bot] in #571
- build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.3 to 3.5.4 by @dependabot[bot] in #567
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.14.1 by @dependabot[bot] in #573
- build(deps-dev): bump org.mockito:mockito-core from 5.19.0 to 5.20.0 by @dependabot[bot] in #574
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 by @dependabot[bot] in #575
- build(deps-dev): bump org.assertj:assertj-core from 3.27.4 to 3.27.6 by @dependabot[bot] in #577
- build(deps): bump org.jetbrains:annotations from 26.0.2 to 26.0.2-1 by @dependabot[bot] in #560
- build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.9.0 by @dependabot[bot] in #584
- build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 by @dependabot[bot] in #583
- build(deps): bump org.codehaus.mojo:flatten-maven-plugin from 1.7.2 to 1.7.3 by @dependabot[bot] in #582
- build(deps-dev): bump org.sonarsource.sonarqube:sonar-plugin-api-impl from 25.6.0.109173 to 25.9.0.112764 by @dependabot[bot] in #589
- build(deps-dev): bump org.junit.jupiter:junit-jupiter from 5.13.4 to 6.0.0 by @dependabot[bot] in #591
- build(deps): bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.1 to 3.6.2 by @dependabot[bot] in #596
Full Changelog: 4.1.0...4.2.0
Release 4.1.0 - full Java PMD 7 rule support
What's Changed
- Now all current PMD Java rules are available (282, up from 206), see details pmd_release_notes_4.1.0.md
- PMD rules created since 2016 onwards were missing and are finally available
- Generate Sonar rules xml for the plugin directly from the PMD 7.15.0 rules xml: makes all Java rules available and up-to-date easily with a new release
- Updated and non-deprecated the "PMD XPath Template Rule" (pmd:XPathRule) to create custom Java rules with powerful PMD7 XPath expressions
- Generate nicely formatted html descriptions from the PMD rule description markup
- Added
pmdtag and category tag for each rule - Added
has-sonar-alternativetag for rules with known Sonar alternative (instead of making rules with alternativesDeprecated) - Simplified release process by automation
- Maven release via Sonatype Central Portal
PMD Java Rules
Total Java rules in version 4.1.0: 282, up from 206.
Rules added: 80, updated: 155, renamed: 11, removed: 4, unchanged: 46.
See the detailed changes in Java rules: pmd_release_notes_4.1.0.md
Pull requests
- generate rules.xml based on the pmd 7 rules #517 by @stokpop in #520
- Full upgrade to 25.6 by @stokpop in #510
- Issue 507 move test rules by @stokpop in #511
- Add sonar alternative tag to rules and add alternative links in description by @stokpop in #531
- Add "title of issues" on top of rule descriptions by @stokpop in #533
Issues solved
- Revivify XPathRule Rule Template #543
- Deprecated rules from PMD do not have status deprecated in SonarQube #419
- Follow-up work from pmd7 migration #495
- Not all pmd rules are available from sonar-pmd #338
- Solve discontinued / deprecated rules #462
- Cleanup references to old PMD6 rules #491
- System Println rule - S106 link on sonarqube UI not working ,showing blank #400
Dependencies
- build(deps-dev): bump org.assertj:assertj-core from 3.27.2 to 3.27.3 by @dependabot[bot] in #514
- build(deps-dev): bump org.junit.jupiter:junit-jupiter from 5.13.0 to 5.13.2 by @dependabot[bot] in #513
- build(deps): bump org.codehaus.mojo:flatten-maven-plugin from 1.7.0 to 1.7.1 by @dependabot[bot] in #512
- build(deps-dev): bump org.junit.jupiter:junit-jupiter from 5.13.2 to 5.13.3 by @dependabot[bot] in #526
- build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.7.0 to 0.8.0 by @dependabot[bot] in #524
- build(deps): bump org.apache.maven.plugins:maven-enforcer-plugin from 3.5.0 to 3.6.0 by @dependabot[bot] in #522
- build(deps): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 by @dependabot[bot] in #521
- build(deps): bump org.codehaus.groovy:groovy-all from 3.0.19 to 3.0.25 by @dependabot[bot] in #535
- build(deps): bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 by @dependabot[bot] in #539
Full Changelog: 4.0.3...4.1.0
4.0.3
4.0.2
4.0.1
What's Changed
- Fixed support of Java versions from 21 up to 24 and 24-preview #499
- Fixed junit errors: removed all junit test rules, they have been moved or removed in PMD 7 #502
Limitations
Contributors
Full Changelog: 4.0.0...4.0.1
4.0.0 (pmd7-release)
Changelog
4.0.0 (2025-02-24)
Implemented highlights:
- Supports PMD 7 which is incompatible with PMD 6: the reason for a major release
- PMD 7.10 with Java 24 and 24-preview support
- Supports latest SonarQube [9.9.4 - 10.8+]
- Supports running on Java 11 on analysis side for SQ 9.9.4 - 10.2.x
- Supports running on Java 17 for all supported SQ versions
- Needed for child plugins with custom rules written in PMD 7, such as sonar-pmd-jpinpoint 2.0.0
3.5.1
Changelog
3.5.1 (2024-05-07)
Implemented highlights:
- Supports latest SonarQube [9.9.4 - 10.5+]
- Supports running on Java 11 on analysis side for SQ 9.9.4 - 10.2.x
- Supports running on Java 17 for all supported SQ versions
- Updated Sonar Plugin API+impl for SQ 9.9.4+
- Upgraded various dependencies
3.5.0
Sonar PMD Plugin 3.5.0
Implemented highlights:
- Updated PMD (6.55.0) (last PMD-6) #422
- Support analyzing up to Java 20-preview (close to 21) #422
- Analyzing Java 21+ falls back to 20-preview with warning (no error) #422
- Updated Sonar Plugin API+impl (9.8.0.63668) (SonarQube 9.8+)
- Upgraded various dependencies
- Needs Java 17 to run, the class file version is 61
Contributors
3.4.0
Sonar PMD Plugin 3.4.0
Contributors:
- jensgerdes (Many thanks for his great maintenance and decision to transfer)
Implemented highlights: