jSparrow Releases

Released: May 19, 2022

Updates in v4.11.0/v3.18.0

Features

jSparrow Eclipse Plugin and Maven Plugin

  • New Rule
    • Remove Redundant Close - This rule is used to remove redundant 'close()' invocation statements on resources which are declared in the header of try-with-resource statements.

jSparrow Eclipse Plugin

  • More jSparrow Markers - Added 13 additional markers for the following rules taking the total number of available jSparrow Markers to 89:
    • Add Braces to Control Statements.
    • Remove Deprecated Date Constructs.
    • Replace Nested Loops with flatMap...

Released: Apr 25, 2022

Updates in v4.10.0

Features

jSparrow Eclipse Plugin

  • New Rule
    • Remove Unused Types - This rule finds the type declarations that are never used and removes them. Users can choose to remove types that are only used in test sources, together with their corresponding tests. Any annotation except for @Deprecated and @SuppressWarnings prevents the type declaration from being considered as unused.
  • More jSparrow Markers - Added 10 additional markers for the following rules taking the total number of available jSparrow...

Released: Mar 17, 2022

Updates in v4.9.0/v3.16.0

Features

jSparrow Eclipse Plugin and Maven Plugin

  • New Rule
    • Remove Local Variables - This rule finds declarations of local variables that are never used and removes them. Reassignments as well as increment and decrement operations are not counted as active usages. Any annotation except for @Deprecated and @SuppressWarnings prevents the local variable from being considered as unused.

jSparrow Eclipse Plugin

  • New Rule
    • Remove Unused Methods - This rule finds the method declarations that are never...

Released: Feb 17, 2022

Updates in v4.8.0

Features

jSparrow Eclipse Plugin

  • New Rule
    • Remove Unused Fields - This rule finds the field declarations that are never used and removes them. Reassignments in the same or in external Java files are not counted as active usages. A dedicated configuration wizard allows users to choose whether to remove fields whose initializers may cause side effects. Any annotation except for @Deprecated and @SuppressWarnings prevents the field declaration from being considered as unused.
  • More jSparrow Markers...

Released: Jan 20, 2022

Updates in v4.7.0/v3.14.0

Features

jSparrow Eclipse Plugin and Maven Plugin

  • New Rule
    • Use Dedicated AssertJ Assertions - AssertJ contains a rich API for writing specific assertions about different types of objects. Making use of the appropriate dedicated methods when writing certain assertions will simplify the test code and improve the corresponding failure messages. This rule finds AssertJ assertions that can be simplified and replaces them with equivalent dedicated assertions.

jSparrow Eclipse Plugin

  • More jSparrow...

Released: Dec 16, 2021

Updates in v4.6.0/v3.13.0

Features

jSparrow Eclipse Plugin and Maven Plugin

  • New Rules
    • Chain AssertJ AssertThat Statements - Encourages writing fluent test cases by chaining the assertions that target the same object instead of invoking assertThat (opens new window) multiple times.
    • Shift AssertJ Description Before Assertion - Provides methods for setting assertion descriptions or error messages.
  • More jSparrow Markers - This release adds 10 additional markers for the following rules:
    • Avoid Concatenation in Logging...

Released: Nov 18, 2021

Updates in v4.5.0/v3.12.0

Features

  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule
      • Use Java Records - Record classes help to model plain data aggregates with less ceremony than normal classes. This rule replaces the declarations of local classes, inner classes, and package private root classes with record class declarations.

Released: Oct 21, 2021

Updates in v4.4.0/v3.11.0

Features

  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule
      • Replace Stream Collect By ToList - Java 16 introduced Stream.toList() as a shorthand method for converting a Stream into an unmodifiable List.
        This rule replaces invocations of collect(Collectors.toUnmodifiableList()) on a stream by the new method stream.toList().

Fixes

  • jSparrow Eclipse Plugin
    • Fixed Bugs
      • Use Files.writeString - Files.writeString should be completely unwrapped from the try-catch statements in some cases where the catch...

Released: Sep 23, 2021

Updates in v3.10.1

Features

  • jSparrow Maven Plugin
    • Adds 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.

Released: Sep 16, 2021

Updates in v4.3.0/v3.10.0

Features

  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule
      • Use Switch Expression - This rule replaces the traditional switch-case statements with switch-case expressions, which turned to standard feature in Java 14.
      • Use Text Block - This rule replaces multiline String concatenation expressions with Text Block String literals, which turned to standard feature in Java 15.
      • Replace String Format by Formatted - This rule replaces the static invocations of String.format​(String format, Object... args...