Skip to content

Latest commit

 

History

History
258 lines (177 loc) · 14.8 KB

History.md

File metadata and controls

258 lines (177 loc) · 14.8 KB

1.5.6-SNAPSHOT / ????-??-??

New and Noteworthy

New Git default branch - "main"

We are joining the Git community and updating "master" to "main". Using the term "master" for the main development branch can be offensive to some people. Existing versions of Git have been always capable of working with any branch name and since 2.28.0 (July 2020) the default initial branch is configurable (init.defaultBranch). Since October 2020, the default branch for new repositories on GitHub is "main". Finally, PMD will also use this new name for the main branch in all our own repositories.

Note: The regression tester will also use branch main by default now for fetching repositories from the list of projects. You might need to add <tag>master</tag> for some projects.

Enhancements

  • #123: Support ruby 3.3.0
  • #125: Update rubocop configuration

Fixed Issues

  • #126: Fix integration tests
  • #127: Fix manual integration tests

External Contributions

1.5.5 / 2023-11-16

Fixed Issues

  • #121: Violation messages should be escaped for html

1.5.4 / 2023-05-27

Enhancements

  • #118: Update js libraries
  • #119: Update manual integration test for PMD 7
  • #120: Support new PMD 7 binary dist filename

1.5.3 / 2022-11-25

Fixed Issues

  • #115: Fix manual integration tests
  • #116: Relative paths in pmd report result in missing code snippets

1.5.2 / 2022-10-20

Enhancements

  • #114: Support new PMD 7 CLI interface

1.5.1 / 2022-05-12

Fixed Issues

  • #106: git clone/checkout fails when using commit sha1 as tag

1.5.0 / 2022-05-06

Enhancements

  • #108: Disable progress bar for PMD 7
  • #109: Make stdout/stderr and exit code available

Fixed Issues

  • #107: Deprecated command line options is used: -auxclasspath

1.4.1 / 2022-04-12

Fixed Issues

  • #104: Baseline filtering is not working anymore

1.4.0 / 2022-03-24

Enhancements

  • #103: Support other languages besides java

1.3.0 / 2021-12-17

Enhancements

  • #94: Improve code snippet preview
  • #95: Add length menu for datatable to allow configurable page size

Fixed Issues

  • #86: Uncaught TypeError: violation is undefined
  • #93: Line numbers > 1000 are not displayed correctly
  • #96: Fix failing integration tests

1.2.0 / 2021-06-20

New and Noteworthy

  • Support for Mercurial is removed. The only SCM supported in the project-list.xml is "git".

Fixed Issues

  • #71: Include full PMD report
  • #89: Make it possible to select a subpath of cloned directory
  • #91: Filter baseline based on patch config

1.1.2 / 2021-04-20

This is a bugfix release.

Fixed Issues

  • #85: HTML is not escaped in snippet preview
  • #84: Leading spaces are missing in code snippet preview

1.1.1 / 2021-01-15

This is a bugfix release.

Fixed Issues

  • #81: Dynamically generated rulesets are not applied on diffs
  • #82: Summary hash uses wrong key names
  • An already built PMD binary was not reused in CI

1.1.0 / 2020-12-05

New and Noteworthy

  • At least ruby 2.7 is required.

  • Typeresolution is now supported by two new tags in the project-list.xml file: build-command and auxclasspath-command. For details, see pull request #72.

  • As part of #74 runner now returns a single hash with the summarized values instead of multiple numbers:

summary = PmdTester::Runner.new(argv).run
puts summary
# {:errors=>{:new=>0, :removed=>0}, :violations=>{:new=>0, :removed=>0, :changed=>0}, :configerrors=>{:new=>0, :removed=>0}}
  • As part of #73 and #78 a improved HTML report is now generated with the following features:
    • searchable table for violations with filters by rule/file/kind (added, removed, changed)
    • summary of changes by rule
    • code snippets for the violations

Fixed Issues

  • #48: Support auxclasspath / typeresolution
  • #67: Report contains errors having nil filename
  • #68: Don't generate a dynamic ruleset if not needed
  • #69: Detect single rules with auto-gen-config
  • #70: Add link to PR on github in HTML report
  • #73: Better HTML presentation for diff report
  • #74: Merge violations that have just changed messages
  • #75: Add new option "--error-recovery"
  • #76: Speedup XML parsing
  • #79: Add new configuration option "--baseline-download-url"
  • #80: Cache and reuse pmd builds

External Contributions

1.0.1 / 2020-07-08

This is a bugfix release.

Fixed Issues

  • #62: Violation descriptions parsed incompletely

1.0.0 / 2020-04-25

New and Noteworthy

First stable release.

Fixed Issues

  • #35: exclude-pattern hasn't been implemented
  • #37: Render stack traces properly
  • #38: Improve Danger messages
  • #40: NoMethodError on beta3
  • #42: Installing the snapshot version of pmdtester locally from github
  • #46: Support multithreaded execution of PMD
  • #47: Reuse the already built PMD binary for PR checks
  • #49: Support comparing two error stacktraces
  • #50: Differences due to different locale settings
  • #57: Support configuration errors in the report
  • #60: Display a simple progress report

External Contributions

  • #33: Ignore changes to test code of PMD when generating dynamic rule sets - BBG
  • #34: Clear old reports before generating new differences regression reports - BBG
  • #36: Implements exclude-pattern - BBG
  • #39: Render stacktraces properly - BBG
  • #41: Fixes NoMethodError in Project class - BBG
  • #43: Adds pmdtester.gemspec file - BBG
  • #44: Improve Danger messages & Increase the readability of the summary report - BBG
  • #45: Removes the exit statement in RuleSetBuilder Class - BBG
  • #51: Add the JDK version and locale info to the summary table of the diff report - BBG
  • #52: Get the result of command 'java -version' from stderr rather than stdout - BBG
  • #53: Support comparing the two error stacktraces - BBG
  • #54: Support multithreaded execution of PMD - BBG
  • #61: Display a simple progress report every 2 minutes - BBG

1.0.0.beta3 / 2018-08-01

Note: This is a beta release. The pmdtester is feature complete, but might contain bugs.

External Contributions

  • #28: Refactor require statements - BBG
  • #29: Add 'verify' rake task to verify code quality before committing changes - BBG
  • #30: Fix diff_cmd in RuleSetBuilder - BBG
  • #31: Fix color scheme for diff report, add default values for various options - BBG
  • #32: Update Readme.rdoc - BBG

1.0.0.beta2 / 2018-07-17

  • First release of pmdtester

Note: This is a beta release. The pmdtester is feature complete, but might contains bugs.

External Contributions

  • #1: Initialize project - BBG
  • #2: Add projects parser & design format of projectlist - BBG
  • #3: Add pmd report builder - BBG
  • #4: Test PmdReportBuilder - BBG
  • #5: Add DiffBuilder for PmdTester - BBG
  • #6: Change the package command for building PMD - BBG
  • #7: Add test cases for DiffBuilder - BBG
  • #8: Add HtmlReportBuilder to PmdTester - BBG
  • #9: Add test cases for HtmlReportBuilder - BBG
  • #10: Add bundler to manage dependency - BBG
  • #11: Using rubocop to check code style of the project - BBG
  • #12: Fix Metrics/BlockLength offenses - BBG
  • #13: Separate integration test cases - BBG
  • #14: Add Runner to PmdTester - BBG
  • #15: Fix rubocop Style/Documentation offenses - BBG
  • #16: Add single mode, add mocha library for unit test - BBG
  • #17: Add more details about pmd branchs and pmd reports - BBG
  • #18: Add SummaryReportBuilder to PmdTester - BBG
  • #19: Add online mode for PmdTester - BBG
  • #20: Change the way of parsing xml file from DOM to SAX - BBG
  • #21: Add auto-gen-config option for PmdTester - BBG
  • #22: Add 'introduce new errors' table head for html summary report - BBG
  • #23: Preparing for the release of PmdTester - BBG
  • #24: Adding a logging framework for PmdTester - BBG
  • #25: Remove working directory substring from filename of pmd violation - BBG
  • #26: Release pmdtester 1.0.0.beta1 - BBG
  • #27: Release pmdtester 1.0.0.beta2 - BBG