Releases: openrewrite/rewrite-static-analysis
Releases · openrewrite/rewrite-static-analysis
2.20.0
What's Changed
- Avoid incorrect changes to Kotlin in RemoveUnusedLocalVariables by @timtebeek in #755
 - Fix EqualsAvoidsNull to remove redundant null checks when literal is already on left side by @timtebeek in #756
 - OpenRewrite recipe best practices by @timtebeek in #758
 - Fix RemoveUnusedPrivateFields for Lombok annotations after visibility modifiers by @timtebeek in #759
 
Full Changelog: v2.19.0...v2.20.0
2.19.0
What's Changed
- Fix FinalClass recipe to correctly handle nested static subclasses by @timtebeek in #742
 - Add 
Objects.requireNonNullElse/ElseGetsupport toAnnotateNullableParametersby @timtebeek in #743 - Fix ReplaceLambdaWithMethodReference handling of nested class imports by @timtebeek in #745
 - OpenRewrite recipe best practices by @timtebeek in #746
 - Update recipe documentation examples by @timtebeek in #747
 - Support for-each loop in NeedBraces by @timtebeek in #749
 - Update documentation examples by @timtebeek in #750
 - Update documentation examples by @timtebeek in #751
 - fixed test that got changed behavior in rewrite-core by @Jenson3210 in #753
 - No longer remove String.valueof when it's called on a method invocation by @Laurens-W in #752
 
New Contributors
- @Jenson3210 made their first contribution in #753
 
Full Changelog: v2.18.0...v2.19.0
2.18.0
What's Changed
- Add configurable null-checking methods to AnnotateNullableParameters by @stefanodallapalma in #737
 - AnnotateNullableMethods: annotate methods that return nullable method… by @stefanodallapalma in #738
 - Naming conflict in 
InstanceOfPatternMatchby @timtebeek in #739 
Full Changelog: v2.17.0...v2.18.0
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 
RemoveRedundantTypeCastby @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 
CompareEnumsWithEqualityOperatoras 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 
twoCasestest case inMinimumSwitchCasesTestby @greg-at-moderne in #672 - Fixing code suggestions by @greg-at-moderne in #673
 - Keep indentation when running 
FinalizePrivateFieldsby @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
 MoveConditionsToWhilerecipe 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 
ReplaceCollectionToArrayArgWithEmptyArrayby @greg-at-moderne in #704 - Add 
RemoveRedundantNullCheckBeforeLiteralEqualsby @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 
UnnecessaryCatchRecipe Multi-Catch Handling by @stefanodallapalma in #638 - Add 
OnlyCatchDeclaredExceptionsrecipe to address RSPEC-S2221 by @stefanodallapalma in #601 - RemoveRedundantTypeCast should not remove required downcast by @protocol7 in #495
 - Unwrap else after return in preceding 
ifby @timtebeek in #645 - Extend 
InlineVariableto 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 
RemoveRedundantNullCheckBeforeInstanceofby @timtebeek in #632 - Fix ClassCastException when handling nested exception class names in CombineSemanticallyEqualCatchBlocks by @AbhishekHerbertSamuel in #598
 - Simplify 
Arrays.asListwith 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 
@SerialfromJavaParser.dependsOnby @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