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