Repository navigation
2.46.0
What's Changed
- UsePortableNewlines: skip escaped backslashes and CRLF by @greg-at-moderne in #1086
- Stop
FixStringFormatExpressionsfrom rewriting \n to %n by @greg-at-moderne in #1087 - TernaryOperatorsShouldNotBeNested support for assignemnts and declara… by @greg-at-moderne in #1088
- Don't use CLI's Go RPC binary in tests by @greg-at-moderne in #1091
- Refactoring: use ListUtils more by @greg-at-moderne in #1090
- TernaryOperatorsShouldNotBeNested not to mangle primitive numeric types by @greg-at-moderne in #1089
- Add RemoveUnnecessaryBitwiseOperation recipe by @Jammy-Louie in #1085
- AnnotateNullableMethods to skip JS sources by @greg-at-moderne in #1093
- MissingOverrideAnnotation: only apply to Java and Groovy sources by @timtebeek in #1094
- Limit
ObjectFinalizeCallsSuperto Java, Groovy by @greg-at-moderne in #1095 doNotChangeDifferentRecordPatternstest case forRemoveDuplicateConditionsby @greg-at-moderne in #1097- InterruptedExceptionHandling: rename unnamed
_multi-catch variable b… by @greg-at-moderne in #1096 - Advertise RSPEC-S2970 on
FindIgnoredCheckReturnValueby @Jammy-Louie in #1098 - Match fully qualified System.out and class literals by type by @jkschneider in #1099
- Use the parent cursor for the visited tree and new ids for nested copies by @jkschneider in #1100
- Tell the block's visit about default-only switches in a cursor message, not a marker by @jkschneider in #1101
- Write literals, catches and && chains as the parser builds them by @jkschneider in #1102
- Merge every closed resource of a try in one pass in UseTryWithResources by @knutwannheden in #1105
- Keep close order and resource scope when merging closes in UseTryWithResources by @knutwannheden in #1106
- Keep the method type in sync with the return type in UseCollectionInterfaces by @knutwannheden in #1107
- Add FindNonCaseLabelsInSwitch recipe (
RSPEC-S1219) by @Jammy-Louie in #1108 - Upgrade to Gradle 9.8.2 by @jkschneider in #1110
- Preserve raw cast on non-parameterized subtype argument in
RemoveRedundantTypeCastby @shukla-pranjal in #1109 - AnnotateRequiredParameters, CatchClauseOnlyRethrows and ReplaceStackWithDeque remove the imports they leave unused by @knutwannheden in #1113
- Set Java version marker directly in
InstanceOfPatternMatchTestby @timtebeek in #1114 - Preserve comments before unwrapped else blocks by @martinfrancois in #992
- ObjectFinalizeCallsSuper: declare the overridden finalize() exceptions when adding super.finalize() by @martinfrancois in #969
- Correct recipe display names, descriptions and option descriptions (M9) by @timtebeek in #1118
- Tighten recipe preconditions (M8 from #1115) by @timtebeek in #1121
- B3:
EmptyBlockkeepsfinallystatements andswitchselector side effects, and leavessynchronizedalone by @timtebeek in #1117 - Correct RSPEC tags and declare Sonar effort estimates (M10) by @timtebeek in #1119
- SimplifyArraysAsList: do not unwrap primitive arrays (C16 from #1116) by @timtebeek in #1125
- B5:
RedundantFileCreationonly unwrapsnew File(String)by @timtebeek in #1124 - A7 + B6: scope follow-up visitors to what each recipe changed by @timtebeek in #1122
- C1:
NoValueOfOnStringTypekeeps oneString.valueOfwhen both concatenation operands arevalueOfcalls by @timtebeek in #1127 - C17:
SimplifyBooleanExpressionkeeps== trueon Kotlin calls returningBoolean?by @timtebeek in #1126 - C2:
NoEqualityInForConditionflips the operator when the loop variable is on the right by @timtebeek in #1128 - Add IsEmptyCallOnMaps recipe by @neil-mushell in #1112
- A7 + B6 follow-up: side effects, comments and formatting scope by @timtebeek in #1123
- Register warmJavaScriptRpcCache without the deprecated registering delegate by @timtebeek in #1130
- Use
excludedBoundsinCommonDeclarationSiteTypeVariancesby @timtebeek in #1131 - Preserve nonzero long field initializers at full width by @jkschneider in #1141
- Preserve NaN semantics when simplifying negated comparisons by @jkschneider in #1142
- Preserve Float double constructor conversions (1116 C7) by @jkschneider in #1143
- EqualsAvoidsNull: keep the null check before contentEquals by @timtebeek in #1138
- Keep the null check before
contentEqualsinEqualsAvoidsNullby @timtebeek in #1133 - Clean up
@Issuelinks in tests (M14) by @timtebeek in #1135 - Fix
FinalizePrivateFieldsfor initializer reads, Kotlinvarand Groovy (C9) by @timtebeek in #1139 - Add a delegating
equals(Object)inCovariantEquals(A8 of #1116) by @timtebeek in #1134 - Load every YAML recipe in a test (M13) by @timtebeek in #1136
- Remove stale
@Incubatingannotations (M15) by @timtebeek in #1137 - Skip JavaScript/TypeScript sources in
RemoveExtraSemicolonsby @ds-xdev in #1145 - Resolve stale disabled tests, fold language variants and tidy test names (M12) by @timtebeek in #1144
- Don’t leave a null body when removing the only statement of a brace-less if or loop by @greg-at-moderne in #1149
- Fix
ReplaceStringBuilderWithStringliteral conversion,CharSequenceseeds and Kotlin output by @greg-at-moderne in #1150 - Remove
//noinspectionlines, IDE-only suppressions and comments that restate the code (M6) by @timtebeek in #1146 - Replace
assert, useJavaIsoVisitorandListUtils, and remove dead code (M7) by @timtebeek in #1147 - C11:
UseJavaStyleArrayDeclarationsonly rewrites declarations with matching dimensions by @Niloyyy in #1132 - Keep labelled
continueand the comments of a removedreturn;(B9 from #1116) by @tashen247 in #1148 - Leave a
Stackas it is when rewrite-analysis cannot follow where it flows, as its last release cannot through an anonymous class by @jkschneider in #1151
New Contributors
- @shukla-pranjal made their first contribution in #1109
- @ds-xdev made their first contribution in #1145
- @tashen247 made their first contribution in #1148
Full Changelog: v2.45.0...v2.46.0