# Release Notes
Here you will find the latest information about releases of the jSparrow Maven plugin.
# 3.20.0 26.09.2022
Three new rules are shipped with release 3.20.0 of the jSparrow Maven Plugin:
# 3.19.0 23.06.2022
One new rule is shipped with release 3.19.0 of the jSparrow Maven Plugin:
# 3.18.0 19.05.2022
One new rule is shipped with release 3.18.0 of the jSparrow Maven Plugin:
# 3.16.0 17.03.2022
One new rule is shipped with release 3.16.0 of the jSparrow Maven Plugin:
# 3.14.0 20.01.2022
One new rule is shipped with release 3.14.0 of the jSparrow Maven Plugin:
# 3.13.0 16.12.2021
Two new rules are shipped with release 3.13.0 of the jSparrow Maven Plugin:
# 3.12.0 18.11.2021
One new rule is shipped with release 3.12.0 of the jSparrow Maven Plugin:
# 3.11.0 21.10.2021
One new rule is shipped with release 3.11.0 of the jSparrow Maven Plugin:
# jSparrow 4JDK8 Maven Plugin
jSparrow Maven plugin provides a separate version to support JDK 8 as runtime environment.
# What is this?
jSparrow 4JDK8 is a limited version of the jSparrow Maven Plugin that supports JDK 8 as runtime environment but does not include jSparrow rules related to the Java features introduced in Java 14 and above. The plugin goals and the syntax for the jSparrow YML configuration remain the same as the main version of jSparrow Maven Plugin.
Use this version only in case the execution environment is restricted to JDK 8.
# How to configure?
Use the following following plugin entry to include jSparrow 4JDK8 Maven Plugin in the pom file:
<build> <plugins> <plugin> <groupId>eu.jsparrow</groupId> <artifactId>jsparrow-4jdk8-maven-plugin</artifactId> <version>3.11.0</version> </plugin> </plugins> </build>
Note that the configuration for jSparrow 4JDK8 is very similar to the main jSparrow Maven Plugin version. Both are hosted on the same maven plugin repository.
The only difference to the main version is the artifactId that changed to
jsparrow-4jdk8-maven-plugin for jSparrow 4JDK8, and remains the same
jsparrow-maven-plugin for the main version.
# How to run?
The goal prefix for running jSparrow 4JDK8 remains
# jSparrow Report
The default path for generating jSparrow Reports is changed to the default project build directory, which is typically the
target folder in the project root.
Additionally, a new parameter
destination is added to the report goal that allows users to specify a custom path for generating the jSparrow reports. E.g.:
mvn jsparrow:report -Ddestination='custom/path'
# 3.10.1 23.09.2021
Version 3.10.1 ads a new parameter
tempWorkspace to jsparrow:refactor and jsparrow:report goals.
The new parameter allows users to define a custom location of the temporary Eclipse workspace that gets created to import the projects being analyzed by jSparrow.
If not provided, jSparrow uses the Java temp directory for creating the workspace.
The following command is an example of using the new parameter
tempWorkspace in Linux:
mvn jsparrow:refactor -DtempWorkspace="/home/John/tmp-jmp-workspace"
Similarly, the new parameter can be used on Windows, as follows:
mvn jsparrow:refactor -DtempWorkspace="C:\Users\John\tmp-jmp-workspace"
# 3.10.0 16.09.2021
Three new rules are shipped with release 3.10.0 of the jSparrow Maven Plugin:
# Important Node
The jSparrow Maven Plugin 3.10.0 requires Java 11 or later as a runtime environment. Future releases will provide an alternative version of jSparrow Maven Plugin to support Java 8.
# 3.8.0 20.07.2021
A new rule is shipped with release 3.8.0 of the jSparrow Maven Plugin:
- Avoid occupying a licenese session when running the
# 3.7.0 17.06.2021
Three new rules are shipped with the midsummer release of jSparrow Maven Plugin 3.7.0:
- Use Dedicated Assertions
- Replace JUnit Assumptions with Hamcrest JUnit
- Replace JUnit 4 Category with JUnit Jupiter Tag
# 3.6.0 20.05.2021
A new rule is shipped with release 3.6.0 of the jSparrow Maven Plugin:
# 3.5.0 15.04.2021
A new rule is shipped with release 3.5.0 of the jSparrow Maven Plugin:
# 3.4.1 25.03.2021
This patch adds support for maven projects using Lombok (opens new window). See more details on Specifying the Lombok Agent.
# 3.4.0 18.03.2021
A new rule is shipped with release 3.4.0 of the jSparrow Maven Plugin:
# 3.3.1 03.03.2021
Version 3.3.1 fixes rare issues with the rules Replace Expression Lambda with Method Reference and Remove Redundant Type Casts.
# 3.3.0 18.02.2021
A new rule is shipped with release 3.3.0 of the jSparrow Maven Plugin:
- Use Secure Random - the rule id changes from
# 3.2.1 03.12.2020
Version 3.2.1 of the jSparrow Maven plugin fixes an issue with the
selectedSources parameter on Windows 10.
# 3.2.0 21.01.2021
A new rule is shipped with release 3.2.0 of the jSparrow Maven Plugin:
# 3.1.0 17.12.2020
Three new rules are shipped with the winter solstice release of jSparrow Maven Plugin 3.1.0:
- Replace JUnit ExpectedException with assertThrows
- Replace JUnit Expected Annotation Property with assertThrows
- Use Files.writeString
# 3.0.1 03.12.2020
Version 3.0.1 of the jSparrow Maven plugin fixes an issue with Java 11 and the newly introduced
# 3.0.0 19.11.2020
jSparrow Maven Plugin 3.0.0 arrives with a new feature that makes the jSparrow's static analysis capacity available to everyone. Additional features are introduced that allow users to provide a customized formatter and to select specific source files that shall be considered for refactoring.
# The jSparrow
This goal is introduced to allow users to try the jSparrow Maven plugin on their sources for free.
Similar to the
refactor goal, the
report goal analyzes the project and computes refactorings with the selected rules.
As a result, jSparrow generates an HTML report with the computed findings. Similar reports are available in the statistics page (e.g., for jenkins-core).
report goal supports the same parameters as the
A parameter is introduced in the
refactor goal, to allow users to specify a customized Eclipse formatter.
The formatter can be exported from the Eclipse IDE and provided to the
refactor goal through
The specified formatter is used by the Reformat Code rule so that it provides the same styling as the customized formatter in the Eclipse IDE.
A more detailed description can be found at: Eclipse Formatter File.
-DselectedSources=<glob-expressions> is introduced in the
refactor goal (and the
report goal) to allow users to specify sources that jSparrow shall consider for refactorings.
The sources can be specified by using glob expressions (opens new window). Find more information in the parameters description of
# New Rule
- Use Comparator Methods is a new refactoring rule that simplifies
Comparator(opens new window) usages by making use of convenience methods added to the API in Java 8.
# 2.19.0 15.10.2020
A new rule is shipped with release 2.19.0 of the jSparrow Maven Plugin:
# 2.18.0 17.09.2020
Four new rules are shipped with release 2.18.0 of the jSparrow Maven Plugin:
- Create Temp Files Using Java NIO
- Use Files.newBufferedReader
- Use Offset Based String Methods
- Use Predefined Standard Charset
# 2.17.0 20.08.2020
Two new rules are shipped with release 2.17.0 of the jSparrow Maven Plugin:
# 2.16.0 16.07.2020
A new rule is shipped with release 2.16.0 of the jSparrow Maven Plugin:
# 2.15.0 18.06.2020
Three additional rules are shipped with the release 2.15.0 of the jSparrow Maven Plugin:
# 2.14.0 20.05.2020
Another security rule is shipped with release 2.14.0 of the jSparrow Maven Plugin:
# 2.13.0 16.04.2020
A new rule is shipped with release 2.13.0 of the jSparrow Maven Plugin:
# 2.12.0 19.03.2020
Three new rules are shipped with release 2.12.0 of the jSparrow Maven Plugin:
# 2.11.0 20.02.2020
A new rule is shipped with release 2.11.0 of the jSparrow Maven Plugin:
# 2.10.0 30.01.2020
Release 2.10.0 of the jSparrow Maven Plugin contains a new rule:
# 2.9.0 19.12.2019
Release 2.9.0 adds a new rule to the jSparrow Maven Plugin:
# 2.8.0 21.11.2019
Release 2.8.0 brings a new rule to the jSparrow Maven Plugin:
# 2.7.0 31.10.2019
Release 2.7.0 intorduces a new rule:
# 2.6.0 19.09.2019
Release 2.6.0 provides a new rule:
# 2.5.0 14.08.2019
Release 2.5.0 of the jSparrow Maven Plugin contains two new rules:
# 2.4.0 18.07.2019
The jSparrow Maven Plugin 2.4.0 introduces two new rules for Java 9 and above:
# 2.3.0 19.06.2019
The jSparrow Maven Plugin 2.3.0 introduces two new rules:
# 2.2.0 16.05.2019
This release provides a new rule:
# 2.1.0 18.04.2019
The jSparrow Maven Plugin release 2.1.0 includes:
- A new rule for Removing Unused Parameters in Private Methods
- Stability improvements for StringBuilder() to StringBuffer() rule.
# 2.0.1 03.04.2019
This version adds proxy support for the jSparrow Maven plugin. See Setup Proxy for more information.
# 2.0.0 28.03.2019
Version 2.0.0 brings a lot of new rules, better performance and a lot of general improvements.
# New Ruleset
This release contains 55 automatic refactoring rules:
- All rules of the jSparrow Eclipse plugin 3.3.0 are included in this release, except for the Organize Imports rule.
- The previously excluded rules System Out To Logging and Rename Fields have now been added!
# Performance Improvements
- By using an improved dependency mechanism the start time of the jSparrow Maven plugin has been improved significantly.
# Java 11 Support
- The jSparrow Maven plugin can now be executed with a Maven version using Java 11.
# Usability and General Improvements
- A help mojo has been added.
- The YAML parsing has been improved in regards to functionality and user feedback (e.g., warnings for non-existing packages or classes).
- Error messages have been improved.
# Source and Module Discovery
The Maven module handling has been improved.
- Maven modules defined in profiles can now be located.
- Non-default source folders can now be used (e.g., folders not following the
- Supported packaging types are now
Have a look at the installation instructions for more information!
# 1.0.0 25.06.2018
This version contains all the features and all the rules of the jSparrow Eclipse plugin 2.5.0 except Organize Imports, System Out To Logging, and Rename Fields.
The download can be found at jSparrow Maven plugin (opens new window)