All notable changes to the VS Code Apex PMD will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Revert "Add workaround for webpack legacy open ssl" by @adangel in #349
- Document correct default setting by @adangel in #350
- Update changelog for 0.10.0 with updated dependencies by @adangel in #351
- Bump prettier from 3.6.1 to 3.6.2 by @dependabot[bot] in #343
- Bump typescript-eslint from 8.35.0 to 8.35.1 by @dependabot[bot] in #355
- Bump @types/node from 24.0.4 to 24.0.10 by @dependabot[bot] in #359
- Bump eslint from 9.29.0 to 9.30.1 by @dependabot[bot] in #360
- Bump typescript-eslint from 8.35.1 to 8.36.0 by @dependabot[bot] in #361
- Bump eslint from 9.30.1 to 9.31.0 by @dependabot[bot] in #369
- Bump @types/node from 24.0.10 to 24.0.14 by @dependabot[bot] in #371
- Bump webpack from 5.99.9 to 5.100.2 by @dependabot[bot] in #372
- Bump csv-parse from 5.6.0 to 6.1.0 by @dependabot[bot] in #373
- Bump typescript-eslint from 8.36.0 to 8.37.0 by @dependabot[bot] in #374
- Bump glob from 7.2.3 to 11.0.3 (dev dep) by @dependabot[bot] in #377
- Bump eslint-config-prettier from 10.1.5 to 10.1.8 by @dependabot[bot] in #378
- Bump eslint-plugin-prettier from 5.5.1 to 5.5.3 by @dependabot[bot] in #379
- Bump @types/node from 24.0.14 to 24.1.0 by @dependabot[bot] in #381
- Bump typescript-eslint from 8.37.0 to 8.38.0 by @dependabot[bot] in #382
- Bump webpack from 5.100.2 to 5.101.0 by @dependabot[bot] in #385
- Bump eslint from 9.31.0 to 9.32.0 by @dependabot[bot] in #386
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.10.0...HEAD
- Bump minimum version of VS Code API from 1.43.0 to 1.74.0 by @adangel in #345
- Bump PMD from 7.14.0 to 7.15.0 by @adangel in #346
- New configuration property "apexPMD.enableDebugOutput" by @adangel in #347
- Output Channel "Apex PMD" is now a LogOutputChannel and supports different log levels by @adangel in #347
- Set apexRootDirectory.mode by default to "off" to prevent performance issues for now by @adangel in #348
16 dependency updates
- Bump debounce from 1.2.1 to 2.2.0 by @dependabot[bot] in #214
- Bump csv-parse from 4.16.3 to 5.6.0 by @dependabot[bot] in #215
- Bump mocha from 11.5.0 to 11.6.0 by @dependabot[bot] in #323
- Bump typescript-eslint from 8.33.0 to 8.34.1 by @dependabot[bot] in #327
- Bump mocha from 11.6.0 to 11.7.0 by @dependabot[bot] in #329
- Bump eslint from 9.28.0 to 9.29.0 by @dependabot[bot] in #330
- Bump @types/node from 22.15.30 to 24.0.3 by @dependabot[bot] in #331
- Bump @types/debounce from 1.2.1 to 1.2.4 by @dependabot[bot] in #333
- Bump eslint-plugin-prettier from 5.2.6 to 5.5.0 by @dependabot[bot] in #334
- Bump typescript-eslint from 8.34.1 to 8.35.0 by @dependabot[bot] in #336
- Bump @types/node from 24.0.3 to 24.0.4 by @dependabot[bot] in #339
- Bump prettier from 3.5.3 to 3.6.1 by @dependabot[bot] in #340
- Bump eslint-plugin-prettier from 5.5.0 to 5.5.1 by @dependabot[bot] in #341
- Bump mocha from 11.7.0 to 11.7.1 by @dependabot[bot] in #342
- Bump minimum version of VS Code API from 1.43.0 to 1.74.0 by @adangel in #345
- Bump PMD from 7.14.0 to 7.15.0 by @adangel in #346
- Support for VS Code versions older than November 2022 has been removed via #345
- Fix apexRootDirectory.customValue setting by @adangel in #344
reported by @yarhamjohn
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.9.0...v0.10.0
- Support for environment variable PMD_APEX_ROOT_DIRECTORY by @gparada in #157 and by @adangel in #180
- New configuration property "apexPMD.apexRootDirectory"
- Updated PMD from 7.6.0 to 7.14.0 by @adangel in #322
- Configuration properties are organized now in 4 sections. The names of the properties stay the same. The sections
are:
- Events
- Rule Configurations
- Violation Handling
- PMD Execution
75 dependency updates
- Bump tslint from 5.20.1 to 6.1.3 by @dependabot[bot] in #183
- Bump @types/glob from 7.2.0 to 8.1.0 by @dependabot[bot] in #184
- Bump webpack from 5.94.0 to 5.97.1 by @dependabot[bot] in #193
- Bump @types/node from 10.17.60 to 22.10.10 by @dependabot[bot] in #210
- Bump typescript from 3.8.3 to 5.7.3 by @adangel in #211
- Bump eslint and prettier by @adangel in #212
- Bump ts-loader from 8.4.0 to 9.5.2 by @dependabot[bot] in #213
- Bump mocha from 10.2.0 to 11.1.0 by @dependabot[bot] in #216
- Bump @vscode/test-electron from 2.3.9 to 2.4.1 by @dependabot[bot] in #217
- Bump @types/mocha from 10.0.1 to 10.0.10 by @dependabot[bot] in #218
- Bump webpack-cli from 5.1.4 to 6.0.1 by @dependabot[bot] in #219
- Bump @typescript-eslint/eslint-plugin from 8.21.0 to 8.22.0 by @dependabot[bot] in #220
- Bump @typescript-eslint/parser from 8.21.0 to 8.22.0 by @dependabot[bot] in #221
- Bump @types/node from 22.10.10 to 22.12.0 by @dependabot[bot] in #222
- Bump typescript-eslint from 8.21.0 to 8.22.0 by @dependabot[bot] in #223
- Bump @types/node from 22.12.0 to 22.13.0 by @dependabot[bot] in #224
- Bump typescript-eslint from 8.22.0 to 8.23.0 by @dependabot[bot] in #225
- Bump @types/node from 22.13.0 to 22.13.1 by @dependabot[bot] in #226
- Bump eslint from 9.19.0 to 9.20.0 by @dependabot[bot] in #228
- Bump prettier from 3.4.2 to 3.5.0 by @dependabot[bot] in #230
- Bump @typescript-eslint/eslint-plugin from 8.23.0 to 8.24.0 by @dependabot[bot] in #231
- Bump @typescript-eslint/parser from 8.23.0 to 8.24.0 by @dependabot[bot] in #232
- Bump typescript-eslint from 8.23.0 to 8.24.0 by @dependabot[bot] in #233
- Bump eslint from 9.20.0 to 9.20.1 by @dependabot[bot] in #234
- Bump @types/node from 22.13.1 to 22.13.2 by @dependabot[bot] in #235
- Bump @types/node from 22.13.2 to 22.13.4 by @dependabot[bot] in #236
- Bump prettier from 3.5.0 to 3.5.1 by @dependabot[bot] in #237
- Bump webpack from 5.97.1 to 5.98.0 by @dependabot[bot] in #238
- Bump @typescript-eslint/parser from 8.24.0 to 8.24.1 by @dependabot[bot] in #239
- Bump typescript-eslint from 8.24.0 to 8.25.0 by @dependabot[bot] in #242
- Bump prettier from 3.5.1 to 3.5.2 by @dependabot[bot] in #244
- Bump eslint from 9.20.1 to 9.21.0 by @dependabot[bot] in #245
- Bump @types/node from 22.13.4 to 22.13.5 by @dependabot[bot] in #247
- Bump eslint-config-prettier from 10.0.1 to 10.0.2 by @dependabot[bot] in #248
- Bump @types/node from 22.13.5 to 22.13.8 by @dependabot[bot] in #250
- Bump prettier from 3.5.2 to 3.5.3 by @dependabot[bot] in #251
- Bump @typescript-eslint/eslint-plugin from 8.25.0 to 8.26.0 by @dependabot[bot] in #252
- Bump typescript-eslint from 8.25.0 to 8.26.0 by @dependabot[bot] in #253
- Bump typescript from 5.7.3 to 5.8.2 by @dependabot[bot] in #254
- Bump @types/node from 22.13.8 to 22.13.9 by @dependabot[bot] in #255
- Bump eslint-config-prettier from 10.0.2 to 10.1.1 by @dependabot[bot] in #256
- Bump eslint from 9.21.0 to 9.22.0 by @dependabot[bot] in #257
- Bump @types/node from 22.13.9 to 22.13.10 by @dependabot[bot] in #258
- Bump typescript-eslint from 8.26.0 to 8.26.1 by @dependabot[bot] in #260
- Bump typescript-eslint from 8.26.1 to 8.27.0 by @dependabot[bot] in #265
- Bump @types/node from 22.13.10 to 22.13.11 by @dependabot[bot] in #266
- Bump eslint from 9.22.0 to 9.23.0 by @dependabot[bot] in #268
- Bump @types/node from 22.13.11 to 22.13.13 by @dependabot[bot] in #269
- Bump eslint-plugin-prettier from 5.2.3 to 5.2.5 by @dependabot[bot] in #270
- Bump typescript-eslint from 8.27.0 to 8.28.0 by @dependabot[bot] in #271
- Bump @types/node from 22.13.13 to 22.13.14 by @dependabot[bot] in #273
- Bump @types/node from 22.13.14 to 22.13.16 by @dependabot[bot] in #275
- Bump typescript-eslint from 8.28.0 to 8.29.0 by @dependabot[bot] in #276
- Bump @types/node from 22.13.16 to 22.13.17 by @dependabot[bot] in #277
- Bump @types/node from 22.13.17 to 22.14.0 by @dependabot[bot] in #278
- Bump eslint-plugin-prettier from 5.2.5 to 5.2.6 by @dependabot[bot] in #279
- Bump eslint from 9.23.0 to 9.24.0 by @dependabot[bot] in #282
- Bump typescript from 5.8.2 to 5.8.3 by @dependabot[bot] in #283
- Bump @typescript-eslint/eslint-plugin from 8.29.0 to 8.29.1 by @dependabot[bot] in #285
- Bump webpack from 5.98.0 to 5.99.5 by @dependabot[bot] in #287
- Bump eslint-config-prettier from 10.1.1 to 10.1.2 by @dependabot[bot] in #288
- Bump typescript-eslint from 8.29.0 to 8.31.0 by @dependabot[bot] in #293
- Bump @eslint/js from 9.24.0 to 9.27.0 by @dependabot[bot] in #308
- Bump webpack from 5.99.5 to 5.99.9 by @dependabot[bot] in #309
- Bump @types/node from 22.14.0 to 22.15.23 by @dependabot[bot] in #311
- Bump mocha from 11.1.0 to 11.5.0 by @dependabot[bot] in #312
- Bump eslint-config-prettier from 10.1.2 to 10.1.5 by @dependabot[bot] in #313
- Bump @types/node from 22.15.23 to 22.15.24 by @dependabot[bot] in #314
- Bump @vscode/test-electron from 2.4.1 to 2.5.2 by @dependabot[bot] in #315
- Bump typescript-eslint from 8.31.0 to 8.33.0 by @dependabot[bot] in #316
- Bump @types/node from 22.15.24 to 22.15.27 by @dependabot[bot] in #317
- Bump @eslint/js from 9.27.0 to 9.28.0 by @dependabot[bot] in #319
- Bump eslint from 9.24.0 to 9.28.0 by @dependabot[bot] in #320
- Bump @types/node from 22.15.27 to 22.15.30 by @dependabot[bot] in #321
- Bump PMD from 7.6.0 to 7.14.0 by @adangel in #322
- PMD fails to run from within VS Code when workspace path contains special characters
Reported by @mlankfer in #181
Fixed by @adangel in #187
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.8.0...v0.9.0
- Upgrade PMD from 7.0.0 to 7.6.0 by @adangel in #176
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #168
- Bump webpack from 5.88.2 to 5.94.0 by @dependabot in #172
- Improve PMD update procedure by @adangel in #174
- Bump micromatch from 4.0.5 to 4.0.8 by @adangel in #175
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.7.0...v0.8.0
- Upgrade to PMD 7.0.0 #159
- Upgrade bundled PMD version to 7.0.0 by @adangel in #160
- Upgraded github actions and node by @adangel in #161
- Default ruleset not compatible with final PMD 7.0.0 #158
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.6.2...v0.7.0
- [ci] Run github actions and tests on all operating systems by @adangel in #150
- Improve marketplace integration - Rename CHANGELOG -> CHANGELOG.md by @adangel in #147
- Bump @vscode/test-electron from 1.6.1 to 2.3.4 by @adangel in #149
- CLASSPATH must only be quoted for Windows by @adangel in #151
- Quote pmdBinPath in case it contains spaces by @adangel in #152
- additionalClassPaths not being picked up for custom rules (regression in 0.6.1) #145
- Cannot execute PMD when user dir contains spaces #146
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.6.1...v0.6.2
- Check for "Cannot load ruleset" by @adangel in #141
- Update README.md - Intro sentence to get the command palette opened by @surfmuggle in #137
- Update dependencies by @adangel in #142
- Quote classPath to deal with spaces in workspaceRootPath by @adangel in #143
- remove settings
showErrors,showStdOut, andshowStdErr. Output from PMD execution is always displayed in the output window. This helps to diagnose problems like ruleset loading errors.
- Error executing PMD when project folder uses spaces #139
- Static Analysis Failed - Cannot load ruleset #140
- @surfmuggle made their first contribution in ChuckJonas#137
Full Changelog: https://github.com/ChuckJonas/vscode-apex-pmd/compare/v0.6.0...v0.6.1
- Add github actions workflow #132 @adangel
- Upgraded to PMD7! (7.0.0-rc3)
- WARNING: PMD6 is no longer supported via
pmdBinPathsetting. If you receive an error, please clear this setting!
- added ability to run on
xmlfiles #101 @nawforce - upgraded PMD to 6.42.0
- Added support for custom JRE path
- Upgraded PMD to 6.37.0 #93 @PawelWozniak
- upgraded PMD to 6.32.0
- bundled the extension
- upgraded PMD to 6.27.0
- upgraded PMD to 6.26.0 #78 @Raspikabek
- Ability to run PMD on file change
- Long overdue refactors to simplify code
- Removed unneeded pmd dist files (reduced package size by 80%!)
- upgraded to PMD 6.23
- upgraded to PMD 6.22
- added Cognitive Complexity to default rule-set
- removed Cyclomatic Complexity from default rule-set
- fixed stale readme link
- Upgraded vscode engine to 1.43.0 (min vscode version) + Upgraded to new test "framework"
- npm audit fix
- fixing bad documentation links
- fix issue with
cachePathnot working for windows - upgraded PMD to 6.21.0
- fix issue with
pmdBinPathnot working for relative url
- Link to Rule documentation
- Ruleset-Rulename in description
- showStdErr now defaults to true
- updated to PMD 6.17.0
- New Logo
- Removed clear diagnostics onDocumentClose
- Fixed tests
- Fixed issue with maxBuffer only partial run on very large projects
- Diagnostic Severity for issues <
priorityWarnThresholdfromhinttoinformation - Upgraded PMD bin to 6.13.0
- Updated default ruleset with new rules
- Ability to specify additional class paths to run custom rule jars (thanks @andrewgilbertsagecom)
- Can specify custom XPath rules (via 6.13.0)
- corrected version in changelog
- Ability to enable PMD caching for a faster analysis
- Upgraded csv parsing package
- Improved recovery handling of bad csv data
- Ignore problems in .sfdx generated files
- Settings auto-load on change. If you change settings you no longer need to reload VSCode
- Upgrade package to fix security issues
- New setting
apexPMD.rulesets. This is a replacement for the deprecatedapexPMD.rulesetPathsetting. You can specify a list of rulesets you need to analyze your code against.
apexPMD.rulesetPathsetting is now deprecated. It still works for backward compatibility but consider moving to a newer settingapexPMD.rulesets.
apexPMD.pmdBinPathdescription is updated to reduce confusion over this setting.
- Added support for visualforce
- Extension now includes PMD binaries by default
- Progress UI for run on workspace with ability to cancel
- Ability to clear all "problems"
- Test Coverage
- Status Bar
- Fixed bug with
runOnSave&runOnOpenbeing switched - Fixed bug with
runOnOpencausing pmd to run twice - Fixed bug with csv escaping
- renamed
pmdPathsetting topmdBinPath - Updated default ruleset to latest
- Removed
Show Apex PMD Outputas vscode natively supports switching channels - removed
use default rulesetsetting in favor be just looking for a empty ruleset config - Cleaned up output and updated setting defaults
- Refactored code and added simple test coverage
- Ability to set a relative path to ruleset. You can now commit a ruleset to your repo.
- Debug ouput control. You can now change the detail level of the debug output: use
showErrors,showStdErr,showStdOutsettings - Added *.apxc to file extensions
- Replaced deprecated ref-values in rule-tags
- Fix: Added check to avoid "TypeError: Cannot read property 'substr' of undefined"
- Fix: Added clearing in problems tab in case there are no detected problems anymore