jSparrow Releases

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

Released: Aug 19, 2021

Updates in v4.2.0

Features

  • jSparrow Eclipse Plugin
    • New Rule:
      • Use Pattern Matching for Instanceof - The new rule replaces instanceof expressions by Pattern Matching for instanceof introduced in Java 16.

Released: Jul 15, 2021

Updates in v4.1.0/v3.8.0

Features

  • jSparrow Maven Plugin
    • Improvements:
      • Avoid occupying a license session when running the report goal.
  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule:
      • Replace JUnit 3 Test Cases - This rule migrates JUnit 3 tests to either JUnit Jupiter or JUnit 4 depending on the most up-to-date JUnit version available in the classpath.

Released: Jun 17, 2021

Updates in v4.0.0/v3.7.0

Features

  • jSparrow Eclipse Plugin
    • jSparrow Markers - jSparrow introduces resource markers for highlighting and providing quick-fixes for issues and code smells. The following rules will automatically generate markers for the Java files that are opened in the editor:
      • Replace equals() on Enum Constants.
      • Use Functional Interfaces.
      • Replace Inefficient Constructors with valueOf().
      • Replace Expression Lambda with Method Reference.
      • Remove Boxing for String Conversions.
      • Replace put(..) with putIfAbsent...

Released: May 20, 2021

Updates in v3.30.0/v3.6.0

Features

  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule:
      • Replace JUnit 4 Assumptions with JUnit Jupiter - This rule contributes to a stepwise transition to JUnit 5 by replacing the JUnit 4 assumption methods assumeTrue and assumeFalse by their equivalent JUnit 5 ones.

Released: Apr 15, 2021

Updates in v3.29.0/v3.5.0

Features

  • jSparrow Eclipse Plugin and Maven Plugin
    • New Rule:
      • Replace JUnit assertThat with Hamcrest - The JUnit Assert.assertThat method has been deprecated. Its sole purpose is to forward the call to the MatcherAssert.assertThat method defined in Hamcrest 1.3. Therefore, it is recommended to directly use the equivalent assertion defined in the third party Hamcrest library.
  • jSparrow Eclipse Plugin
    • Replace JUnit 4 Assertions with JUnit Jupiter - Extends the rule coverage by allowing the...