Repository navigation
2.54.0
What's Changed
- Preserve intentional switch fall-through in common static analysis by @jkschneider in #1216
- Preserve Kotlin inferred-return method visibility in abstract classes by @jkschneider in #1217
- Keep native language syntax intact in WhileInsteadOfFor by @jkschneider in #1219
- Preserve Kotlin safe property comparisons with Boolean literals by @jkschneider in #1220
- Preserve abstract method contracts in MethodNameCasing by @jkschneider in #1221
- Respect source compatibility and preserve anonymous diamond arguments by @jkschneider in #1218
- Preserve finalizer cleanup in common static analysis by @jkschneider in #1222
- Preserve Kotlin rethrows before a later Throwable handler by @jkschneider in #1223
- Handle typed catches without a variable binding safely by @jkschneider in #1225
- Preserve implicit receivers in EqualsAvoidsNull by @jkschneider in #1226
- Limit Externalizable constructor generation to supported source languages by @jkschneider in #1228
- Preserve Groovy statement wrappers when replacing Class.isInstance by @jkschneider in #1229
- Replace only BigDecimal rounding expressions in Java templates by @jkschneider in #1224
- Restrict CovariantEquals to Java and Groovy by @jkschneider in #1227
- Preserve legacy Groovy labels when adding braces by @jkschneider in #1230
- Erase the instanceof template dummy without changing operand attribution by @jkschneider in #1233
- Retain reflection for recursive generic bounds on legacy runtimes by @jkschneider in #1234
- Preserve evaluation of empty Kotlin if conditions by @jkschneider in #1236
- Avoid changing semantics in
InlineVariable(C20 of #1116) by @Niloyyy in #1180 - Preserve published public and protected constructor API by @jkschneider in #1240
- AllBranchesIdentical to hoist side-effect statements by @greg-at-moderne in #1032
- Preserve published public and protected class modifiers by @jkschneider in #1241
- Keep BigDecimal decimal round-trip conversion opt-in by @jkschneider in #1237
- Preserve nested boolean negation precedence and Groovy coercion by @jkschneider in #1244
- Preserve generated superclass method contracts when standardizing names by @jkschneider in #1242
- Preserve definite assignment for constructor early returns by @jkschneider in #1243
- Keep observable method-name refactoring out of common static analysis by @jkschneider in #1245
- Preserve size comparisons on known mock receivers by @jkschneider in #1246
- Keep parentheses needed for precedence in
SimplifyRedundantLogicalExpression(E4 of #1116) by @Niloyyy in #1178 - Handle implicit
thisinCollectionToArrayShouldHaveProperType(part of C21 of #1116) by @Niloyyy in #1179 - Preserve known mock receivers declared in for initializers by @jkschneider in #1249
- Inline variables whose initializer is a subtype of the declared type by @timtebeek in #1250
- Upgrade Gradle wrapper to 9.9.0 by @timtebeek in #1251
Full Changelog: v2.52.0...v2.54.0