Releases: openrewrite/rewrite-static-analysis
Releases · openrewrite/rewrite-static-analysis
2.17.0
2.16.0
What's Changed
- fix: Enhanced UseCollectionInterfaces to prevent conversions when non interface methods are used by @e5LA in #709
- Improve support method invocations for
RemoveRedundantTypeCast
by @jevanlingen in #711 - Do not move field annotations around arrays by @timtebeek in #712
- Use classpath from resource for Refaster by @jevanlingen in #714
- Fix NPE in UseCollectionInterfaces with annotated raw collection types by @timtebeek in #717
- Prefer
System getProperty()
overgetenv()
by @Akanksha928 in #679 - Expand coverage of UseCollectionInterfaces to LinkedList, Stack, TreeMap, TreeSet and PriorityQueue by @timtebeek in #718
- Fix ReplaceLambdaWithMethodReference to not replace lambdas inside anonymous inner classes by @timtebeek in #723
New Contributors
- @Akanksha928 made their first contribution in #679
Full Changelog: v2.15.0...v2.16.0
2.15.0
What's Changed
- Add parentheses in
CompareEnumsWithEqualityOperator
as needed by @timtebeek in #658 - Recipe to simplify Boolean expressions using De Morgan's laws by @greg-at-moderne in #659
- SimplifyBooleanExpressionWithDeMorgan - Add parens when converting to OR by @greg-at-moderne in #660
- UseForEachLoop recipe by @greg-at-moderne in #651
- Do not remove used private fields after type change by @timtebeek in #648
- UseForEachLoop - not to change in case of array assignment by @greg-at-moderne in #661
- Remove UseForEachLoop by @greg-at-moderne in #662
- Fixing
twoCases
test case inMinimumSwitchCasesTest
by @greg-at-moderne in #672 - Fixing code suggestions by @greg-at-moderne in #673
- Keep indentation when running
FinalizePrivateFields
by @jevanlingen in #675 - PreferIncrementOperator by @greg-at-moderne in #676
- Add MavenJavadocNonAsciiRecipe to remove non-ASCII characters from Ja… by @sfarhaazmi in #674
- refactor: Static imports for Collections and Collectors by @timtebeek in #678
- PreferIncrementOperator - more coverage - compound assignment operators by @greg-at-moderne in #680
- rename settings.local.json to settings.json by @zieka in #690
- Add PreferEqualityComparisonOverDifferenceCheck recipe by @e5LA in #686
- Applying code suggestions by @greg-at-moderne in #693
- Show a failure to remove some semicolons still by @timtebeek in #697
MoveConditionsToWhile
recipe by @greg-at-moderne in #698- Add Claude derived instructions for tests and recipes by @timtebeek in #700
- Fix NPE for new arrays with initializers in
ReplaceCollectionToArrayArgWithEmptyArray
by @greg-at-moderne in #704 - Add
RemoveRedundantNullCheckBeforeLiteralEquals
by @timtebeek in #706 - Refactor RewriteTest to use defaults method by @timtebeek in #707
New Contributors
- @sfarhaazmi made their first contribution in #674
- @zieka made their first contribution in #690
- @e5LA made their first contribution in #686
Full Changelog: v2.14.0...v2.15.0
2.14.0
What's Changed
- Heap size of 1G for tests by @greg-at-moderne in #653
- UnwrapElseAfterReturn - dealing with trailing comments by @greg-at-moderne in #654
- Dealing with even more kinds of trailing comments in UnwrapElseAfterReturn by @greg-at-moderne in #655
Full Changelog: v2.13.0...v2.14.0
2.13.0
What's Changed
- Add CollectionToArrayShouldHaveProperType recipe (RSPEC-S3020) by @jkschneider in #635
- Fix
UnnecessaryCatch
Recipe Multi-Catch Handling by @stefanodallapalma in #638 - Add
OnlyCatchDeclaredExceptions
recipe to address RSPEC-S2221 by @stefanodallapalma in #601 - RemoveRedundantTypeCast should not remove required downcast by @protocol7 in #495
- Unwrap else after return in preceding
if
by @timtebeek in #645 - Extend
InlineVariable
to support local variable assignments by @timtebeek in #647 - Removing executable (x) file permissions by @greg-at-moderne in #650
Full Changelog: v2.12.0...v2.13.0
2.12.0
What's Changed
- Adding the nestedVariables test case by @greg-at-moderne in #604
- refactor: org.openrewrite.mavencentral by @Laurens-W in #612
- Issue #622: precompile regexes in FixStringFormatExpressions.java and… by @cxdima in #625
- Recipe
RemoveRedundantNullCheckBeforeInstanceof
by @timtebeek in #632 - Fix ClassCastException when handling nested exception class names in CombineSemanticallyEqualCatchBlocks by @AbhishekHerbertSamuel in #598
- Simplify
Arrays.asList
with new array argument by @timtebeek in #633
New Contributors
- @cxdima made their first contribution in #625
- @AbhishekHerbertSamuel made their first contribution in #598
Full Changelog: v2.11.0...v2.12.0
2.11.0
What's Changed
- Applying code suggestions by @greg-at-moderne in #576
- Do not pull Supertype-Cast to instanceof by @dnl50 in #577
- Created AnnotateNullableParameters recipe by @stefanodallapalma in #578
- Handle nested types in AnnotateNullableMethods by @timtebeek in #579
- Initialize JetBrains Junie 🚀 by @jetbrains-junie in #583
- Changed implementation in FallThroughVisitor to detect infinite loops by @JohannisK in #581
- Revert "Initialize JetBrains Junie 🚀" by @knutwannheden in #585
- Fix typos by @iddeepak in #588
- Add
@Serial
fromJavaParser.dependsOn
by @timtebeek in #587 - Migrate Traits class usage to constructor calls by @MBoegers in #590
- Reordering Annotations by @steve-aom-elliott in #544
- Order type annotations last by @timtebeek in #594
- fix: filter out methods not invoked from an identifier by @pdelagrave in #595
- Added unit test for minimum switch cases with bitwise operation. by @LakshyaKwatra in #596
- refactor: Adopt
J.Literal.isLiteralValue(expression, null)
by @timtebeek in #600 - Add regression test to verify that no default import order style is applied by @LakshyaKwatra in #597
New Contributors
- @dnl50 made their first contribution in #577
- @jetbrains-junie made their first contribution in #583
- @iddeepak made their first contribution in #588
- @pdelagrave made their first contribution in #595
- @LakshyaKwatra made their first contribution in #596
Full Changelog: v2.10.0...v2.11.0
2.10.0
What's Changed
- Handle static method calls when removing unnecessary explicit type arguments. by @JohannisK in #547
- SimplifyConstantIfBranchExecution leaves unreachable code by @steve-aom-elliott in #546
- Configurable NoFinalizedLocalVariables for excluding methods parameters by @steve-aom-elliott in #548
- TestNG matching for RemoveUnneededAssertion by @steve-aom-elliott in #549
- UnnecessaryThrows should not change API for protected methods by @timtebeek in #553
- NoFinalizedLocalVariables - fix for J.Lambda.Parameters in LST by @steve-aom-elliott in #555
- Run test methods in parallel but classes sequential by @timtebeek in #539
- Enhance RemoveUnusedLocalVariables to support filtering by type by @bgalek in #563
- No MethodReference for parentheses by @timtebeek in #565
- Moved junit-platform.properties to test to prevent configuration inheritance by @arodionov in #567
MinimumSwitchCases
ignores switches with cases with more than 1 break. by @JohannisK in #568- Fallthrough should not add
break;
when statements contain a guaranteed return by @JohannisK in #566 - AnnotateNullableMethods to support ternary null returns by @stefanodallapalma in #569
- Remove default style choice from
CustomImportOrder
by @Laurens-W in #573
New Contributors
- @steve-aom-elliott made their first contribution in #546
- @bgalek made their first contribution in #563
- @stefanodallapalma made their first contribution in #569
Full Changelog: v2.9.0...v2.10.0
2.9.0
What's Changed
- Exclude visiting Javadoc in ReplaceDeprecatedRuntimeExecMethods by @greg-at-moderne in #527
- Reduce compiler warnings when running tests by @timtebeek in #525
- refactor: OpenRewrite Recipe best practices by @timtebeek in #529
- fix: use box for primitives when rewriting
instanceof
(#528) by @cortlepp in #530 - Fix type substitution for
var
variable by @arodionov in #533 - Add cloneInInterface test case to MissingOverrideAnnotationTest by @greg-at-moderne in #536
- Fix clashing variable names generated by
InstanceOfPatternMatch
by @arodionov in #538 - Enable custom Serial Version UID by @yuri1969 in #541
- Fix Comment handling in NeedsBraces by @Jammy-Louie in #518
- CustomImportOrder recipe by @mankoffs in #542
New Contributors
Full Changelog: v2.8.0...v2.9.0
2.8.0
What's Changed
- Exclude
dataflow-errorprone
over shaded vulnerable Guava by @timtebeek in #503 - Ignoring combineSameSemanticallyEquivalentMethodTypes test case by @greg-at-moderne in #507
- ReplaceStringBuilderWithString should keep newlines by @Jammy-Louie in #504
- Avoid double negation in SimplifyBooleanReturn by @timtebeek in #505
- Removing trailing spaces in code by @greg-at-moderne in #510
- ReplaceStringBuilderWithString should keep comments by @Jammy-Louie in #511
- Don't finalize try-with-resources vairables as they are implicitly final by @JohannisK in #515
- Fix RemoveUnusedPrivateMethods
org.opentest4j.AssertionFailedError
by @Pankraz76 in #468 - CompareEnumsWithEqualityOperator should not invert equality by @JohannisK in #516
- UseCollectionInterfaces updates methodInvovations type info to enable import removal by @JohannisK in #517
- Handling parentheses sometimes needed around instanceof by @greg-at-moderne in #521
- DefaultComesLast should correctly support fall through cases by @JohannisK in #520
- Enhance ExplicitInitialization to handle anonymous classes by @Jammy-Louie in #522
- Fixes for DefaultComesLast by @JohannisK in #523
New Contributors
- @Jammy-Louie made their first contribution in #504
Full Changelog: v2.7.1...v2.8.0