# Release Notes

Here you will find the latest information about releases 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.

WARNING

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.

# jSparrow Report destination Path

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

WARNING

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:

# Improvements

  • Avoid occupying a licenese session when running the report goal.

# 3.7.0 17.06.2021

Three new rules are shipped with the midsummer release of jSparrow Maven Plugin 3.7.0:

# 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:

# Improvements

# 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:

# 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 formatter parameter.

# 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 report Goal

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).

The report goal supports the same parameters as the refactor goal.

# The formatter Parameter

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 -Dformatter=<path-to-formatter> parameter. 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.

# The selectedSources Parameter

A parameter -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 refactor goal.

# New Rule

# 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:

# 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:

# 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:

# 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 src/main/java schema).
  • Supported packaging types are now jar and war.

# Installation

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)