Releases: openrewrite/rewrite-static-analysis
Releases · openrewrite/rewrite-static-analysis
2.22.0
What's Changed
- Prevent
AnnotateNullableMethodsfrom failing on TypeScript sources by @greg-at-moderne in #773 - Fix CombineSemanticallyEqualCatchBlocks for inner exception types by @timtebeek in #772
- Handle single quotes in ReplaceStringBuilderWithString by @timtebeek in #775
- Prevent
ReplaceLambdaWithMethodReferencein nested generic/overloaded contexts by @timtebeek in #776 - Fix ReplaceLambdaWithMethodReference for local records and classes by @timtebeek in #777
- Move nullable annotations to array types by @timtebeek in #778
- Annotate nullable array type parameters by @timtebeek in #779
- Annotate required parameters with
@NonNulland remove throws by @timtebeek in #782 - Skip UnnecessaryCatch after any missing types via a precondition by @timtebeek in #784
- Run
UnnecessaryCatchafterUnnecessaryThrowsto remove unused catch clauses by @timtebeek in #785 - Add JavascriptFileChecker to selectively skip JavaScript files by @timtebeek in #787
- Fix
RemoveUnusedLocalVariablesto preserve assignments with side effects by @timtebeek in #741
Full Changelog: v2.21.0...v2.22.0
2.21.0
What's Changed
- Retain necessary null checks in EqualsAvoidsNull by @timtebeek in #761
- Fix RemoveUnusedLocalVariables producing invalid pattern matching code by @timtebeek in #762
- Use constructor changed in rewrite-core by @Jenson3210 in #763
- Add recipe to reorder annotation attributes by @timtebeek in #764
- Gradle 9.2.0 by @timtebeek in #766
- Improve
CovariantEqualsfor kotlin by @Laurens-W in #765 - Limit
RemoveSystemOutPrintlntoSystem.outandSystem.errby @timtebeek in #770 - Replace empty String concatenation with
String.valueOf()by @timtebeek in #634
Full Changelog: v2.20.0...v2.21.0
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