Skip to content

Releases: szpak/gradle-pitest-plugin

1.5.1

06 May 19:33

Choose a tag to compare

  • Fail with meaningful error message on no longer supported pitest configuration in rootProject.buildscript - #205

The only change helps people not reading the release notes to get know why their projects with the JUnit 5 PIT plugin stopped working after migration to 1.5.0+.

1.5.0 - breaking changes

28 Apr 09:19

Choose a tag to compare

  • Move pitest configuration from root project to current project to eliminate Gradle 6+ warning - #62
  • Upgrade Gradle wrapper to 6.3 (ability to build with Java 14)

Compatibility changes. This version finally relaxes the need to create pitest configuration in the root project. This was problematic especially with Android projects and also started to generate deprecation warnings in Gradle 6.

The migration steps are required only in project manually adding custom PIT plugins. For example:

buildscript {   //only in gradle-pitest-plugin <1.5.0
    //...
    configurations.maybeCreate('pitest')
    dependencies {
        pitest 'org.example.pit.plugins:pitest-custom-plugin:0.42'
    }
}

pitest {
    testPlugin = 'custom'
    //...
}

should be replaced with:

//only in gradle-pitest-plugin 1.5.0+

//in project (not buildscript) dependencies and without needto create "pitest" configuration manually
dependencies {
    pitest 'org.example.pit.plugins:pitest-custom-plugin:0.42'
}

pitest {
    testPlugin = 'custom'
    //...
}

Please also note that the users of the new JUnit 5 PIT plugin configuration mechanism with junit5PluginVersion are not affected.

1.4.9

22 Apr 09:16

Choose a tag to compare

  • Fix regression in 1.4.8 related to missing source listing in PIT reports - #198
  • migrate remaining configuration properties to Lazy Configuration API
  • more corner cases tested

1.4.8

01 Apr 20:30

Choose a tag to compare

  • Fix problem with setting historyInputLocation and jvmPath - #189
  • Less noisy "Adding dependency" logging - #182
  • PIT 1.5.1 by default (better Java 14 support)
  • Basic functional testing with Java 14
  • Validation with Java Gradle plugin - #106 - PR by Matthew Haughton
  • CodeNarc code checks - #184 - PR by Matthew Haughton

1.4.7

27 Feb 16:18

Choose a tag to compare

  • Simpler usage with JUnit 5 with junit5PluginVersion configuration parameter - #177 - idea by John Scancella
  • Remove deprecation warnings in Gradle 6 - #155
  • additionalClasspathFile no longer marked as @OutputFile for better Gradle 6+ compatibility
  • PIT 1.5.0 by default
  • Bump minimal Gradle version to 5.6 - required to fix deprecation warnings due to #10953
  • upgrade Gradle wrapper to 5.6.4

Starting with this release the configuration required to use PIT with JUnit 5 has been simplified to the following:

plugins {
    id 'java'
    id 'info.solidsoft.pitest' version '...'
}

pitest {
    //adds dependency to org.pitest:pitest-junit5-plugin and sets "testPlugin" to "junit5"
    junit5PluginVersion = '0.12'
}

See this blog post for more details.

Compatibility changes. A new set of the configuration parameters (jvmPath, historyInputLocation and historyOutputLocation) has been converted from File to RegularFileProperty to prevent deprecation warnings in Gradle 6+. Gradle itself should handle those changes for configuration in build.gradle, however, there could be some corner cases if those fields were used directly.

1.4.6

15 Dec 12:39

Choose a tag to compare

  • Support for includedTestMethods (PIT 1.3.2) - #79
  • Support for useClasspathJar (PIT 1.4.2) - #92
  • Support for skipFailingTests (PIT 1.4.4) - #113
  • Pass additional PIT features from command line with --additionalFeatures - #139
  • Set targetTests explicitly - #144
  • Ability to override targetTests from command line --targetTests - #143
  • Run pitest after test if both scheduled to run - #141 - PR by Björn Kautler
  • Remove incubating addFileExtensionsToFilter() method added in 1.4.5 - suggestion by Björn Kautler
  • Travis build with OpenJ9 11 - #112

Compatibility changes. The incubating addFileExtensionsToFilter() method added in 1.4.5 was removed as it is possible to achieve the same effect (while waiting for improvement in Gradle) with:

pitest {
    fileExtensionsToFilter.addAll('xml', 'orbit')
}

1.4.5

08 Sep 12:45

Choose a tag to compare

  • Rework internal plugin implementation to Gradle 5+ standards
  • PIT 1.4.10 by default
  • Basic Java 12 support tested by CI build
  • Move pitest task to verification group - #136 - PR by Björn Kautler
  • Remove deprecation warnings in Gradle 6.0
  • Bump minimal Gradle version to 5.1
  • Meaningful error message on running unsupported Gradle version
  • Switch build to Gradle 5.6.1

Known limitations. This is a technical release to cope with the changes in Gradle 5 and 6. PIT 1.4.10 is used by default, but not all new features of PIT 1.4.0+ have been implemented yet.

Breaking changes. This release changes internal implementation of the plugin configuration. The Gradle team worked hard to keep it as compatible as possible, but not everything is supported. The new syntax can be required for adding elements to the file extensions to filter (fileExtensionsToFilter):

pitest {
    addFileExtensionsToFilter(['xml', 'orbit'])
}

There could be also some issues for people interacting with the plugin from custom code (instead of from build.gradle). As a side effect Gradle 5.1 (released in I 2019) is required.

1.4.0

26 Jan 15:54

Choose a tag to compare

  • Basic Java 11 support verified with CI build (requires PIT 1.4.1+)- #86, #81
  • Improve pitest task caching with @classpath - #93
  • PIT 1.4.3 by default
  • Switch build to Gradle 4.10.2
  • Remove support for Gradle <4.0 (for better Gradle 5 compatibility)
  • Remove deprecation warnings in Gradle 5.0
  • Enable automatic dependency bumping with Dependabot

Known limitations. To reduce confusion on Java 11 support, this version provides PIT 1.4.3 by default which supports Java 11. However, not all new features of PIT 1.4.0 to 1.4.3 have been implemented in this release of the Gradle plugin. They are planned to be added in the future versions.

1.3.0

27 Jan 14:31

Choose a tag to compare

  • Support for test plugin selection in PIT (e.g. JUnit 5) - #76 - PR by Christoph Sturm
  • Support for excludedTestClasses parameter in PIT - #75
  • PIT 1.3.1 by default
  • Drop Java 7 support - #70
  • Basic Java 9 compatibility verified with CI build (preliminary support for Java 9 has been available since PIT 1.2.3) - #68
  • Switch build to Gradle 4.5

Breaking change. Starting with 1.3.0 binary artifacts require at least Java 8 (as a JDK used to run a Gradle build).

1.2.4

14 Nov 23:37

Choose a tag to compare

  • Make dependency exclusion on classpath configurable - #53
  • PIT 1.2.4 by default
  • Switch build to Gradle 4.3.1 - nicer executed tasks displaying with --console=verbose