Releases: openrewrite/rewrite-migrate-java
Releases · openrewrite/rewrite-migrate-java
Release list
3.43.0
What's Changed
- Fix
NoGuava*collection recipes crashing on Groovy sources by @timtebeek in #1210 - Do not rewrite Docker
FROMimages built from variables by @timtebeek in #1212 - Add
lombok.checkReturnValueAnnotationto Lombok best practices by @timtebeek in #1214 - Upgrade
ARGdefault values used in DockerFROMinstructions by @timtebeek in #1213 - Revert "Upgrade
ARGdefault values used in DockerFROMinstructions" by @timtebeek in #1215 - Upgrade
ARGdefault values used in DockerFROMinstructions (hold for rewrite release) by @timtebeek in #1216 - Read an argument and an image name without
rewrite-dockerinternals by @timtebeek in #1220 - Do not apply
varwhere the declaration cannot legally carry it by @jkschneider in #1221 - Leave Kotlin and Groovy sources to
ListFirstAndLastby @jkschneider in #1222 - Upgrade AspectJ and fold
mockito-inlineintomockito-corefor Java 25 by @jkschneider in #1223 - Turn dangling documentation comments into block comments by @jkschneider in #1224
- Match a distribution whose candidate carries a vendor build by @jkschneider in #1225
- Drop the
rewrite-analysisdependency fromURLConstructorToURICreateby @timtebeek in #1226
Full Changelog: v3.42.1...v3.43.0
v3.42.1
What's Changed
- Do not duplicate JSpecify annotations when several annotations map to one by @timtebeek in #1200
- Upgrade
maven-pmd-pluginas part of the Java 17 migration by @timtebeek in #1208 - Update inline Guava recipes for Guava 33.7.0 by @timtebeek in #1207
- Extend
UseListOfprose pattern toLinkedHashSetby @timtebeek in #1209
Full Changelog: v3.42.0...v3.42.1
3.42.0
What's Changed
- Adopt upstream XML trailing-comment formatting by @timtebeek in #1180
- Add mapping for CheckForNull to JSpecify annotation by @zbynek in #1179
- Skip
UseSetOf/UseListOfforHashSet/ArrayListsubclasses by @timtebeek in #1182 - Avoid hardcoded patch version in UpdateSdkManTest by @timtebeek in #1183
- Only add the Mockito surefire agent configuration when asked, and keep it minimal by @timtebeek in #1184
- Make subpackage recursion explicit in the Jackson JAX-RS JSON rename by @timtebeek in #1185
- Add the Mockito agent properties goal in its own execution by @MBoegers in #1186
- Derive SDKMAN test versions from the candidate list by @timtebeek in #1188
- Do not apply
varwhen the generic return type needs the declared type by @jevanlingen in #1187 - Cover legacy Bouncy Castle artifacts and their API changes by @timtebeek in #1189
- Add jakarta.validation-api dependency when migrating com.sun.istack.NotNull by @steve-aom-elliott in #1190
New Contributors
Full Changelog: v3.41.0...v3.42.0
3.41.0
What's Changed
- Add Mockito Java agent surefire config in reactor modules by @timtebeek in #1169
- Move Java EE 8 servlet update into separate recipe by @rlsanders4 in #1170
- Update NoGuavaRefaster expected output for upstream static-import change by @timtebeek in #1171
- Set Develocity
projectIdto "openrewrite" by @timtebeek in #1172 - Add
mapstruct-processorto annotation processor paths when Lombok and MapStruct are used by @timtebeek in #1175 - Fix method patterns for dead
UnsignedInts/UnsignedLongsrecipes by @timtebeek in #1176 - Migrate web.xml xsi:schemaLocation from J2EE 1.4 namespace by @steve-aom-elliott in #1177
- Forward Code Genome Project publish credentials to
ci-gradle.ymlby @jkschneider in #1178
Full Changelog: v3.40.0...v3.41.0
3.40.0
What's Changed
- Keep
\tand\fescapes in UseTextBlocks to avoid incidental whitespace stripping by @timtebeek in #1160 - Skip UseEnumSetOf empty conversion for static fields to avoid circular class-init (#1157) by @timtebeek in #1161
- Skip
UseMapOfforLinkedHashMap/TreeMapin the proseput()form (#1163) by @timtebeek in #1165 - Skip AddMockitoJavaAgentToMavenSurefirePlugin when agent already configured in build/plugins by @timtebeek in #1166
- Add RedundantUtf8Charset recipe to drop redundant UTF-8 from Files calls by @timtebeek in #1167
- Fix Jakarta EE 10 web.xml migration by @sakshichitnis27 in #1159
New Contributors
- @sakshichitnis27 made their first contribution in #1159
Full Changelog: v3.39.0...v3.40.0
3.39.0
What's Changed
- Make ExtractExplicitConstructorInvocationArguments templates context-free by @knutwannheden in #1140
- Convert Javadoc
<br>tags to Markdown line breaks by @timtebeek in #1142 - Preserve angle brackets when converting
@param <T>to Markdown by @timtebeek in #1141 - Fix JavadocToMarkdown's handling of varargs and JDKs newer than the bytecode source/target compatibility by @sambsnyd in #1143
- Move ReplaceUnusedVariablesWithUnderscore to Java best practices by @timtebeek in #1144
- Extend Use{List,Set,Map}Of to recognise prose-statement chains by @steve-aom-elliott in #1145
- Skip
UseMapOfwhen the anonymousHashMapis assigned to a concreteHashMapvariable by @timtebeek in #1149 - Fix jakarta.enterprise.concurrent-api version for EE9 and EE10 by @evie-lau in #1152
- Add recipe to replace jakarta jws-api with ws-api in EE10 by @evie-lau in #1151
- Upgrade maven-ejb-plugin alongside jakarta.ejb-api by @evie-lau in #1155
- Upgrade maven-ear-plugin for ee9 and ee11 by @evie-lau in #1156
Full Changelog: v3.38.0...v3.39.0
v3.38.0
What's Changed
- use . instead # for FQN link in Markdown javadoc by @barbulescu in #1134
- Bump maven-pmd-plugin to 3.28.x for Java 25 support by @timtebeek in #1136
- Explain why Kotlin modules are capped at Java 24 during Java 25 migration by @timtebeek in #1137
- Preserve
@{argLine}in AddSurefireFailsafeArgLine for JaCoCo coverage by @timtebeek in #1138 - Add recipe to extract complex explicit constructor invocation arguments (JEP 513) by @timtebeek in #1135
- Bump Kotlin 2.0-2.2 to 2.3 so Kotlin modules can reach Java 25 by @timtebeek in #1139
Full Changelog: v3.37.0...v3.38.0
3.37.0
What's Changed
- Align Kotlin jvmTarget with the Java version during UpgradeJavaVersion by @MBoegers in #1120
- Move instance main methods recipe to JavaBestPractices by @timtebeek in #1130
- javadoc code tag language is not converted to markdown by @barbulescu in #1129
- Contribute AddMockitoJavaAgentToMavenSurefirePlugin Recipe by @ryan-hudson in #1128
- Preserve significant trailing space in UseTextBlocks (#1132) by @timtebeek in #1133
New Contributors
- @barbulescu made their first contribution in #1129
- @ryan-hudson made their first contribution in #1128
Full Changelog: v3.36.0...v3.37.0
3.36.0
What's Changed
- Move StringFormatted recipe from Java 17 upgrade to Java best practices by @timtebeek in #1106
- Skip
IfElseIfConstructToSwitchwhen a trailing non-== nullbinary check is present by @timtebeek in #1109 - Skip
UseTextBlockswhen literal value matches its source by @timtebeek in #1111 - Skip
UseMapOfforHashMapsubclasses likeLinkedHashMapandTreeMapby @timtebeek in #1113 - Skip
RenameUnderscoreIdentifieron Kotlin and Groovy sources by @MBoegers in #1114 - Do not add
java.io.IOimport inReplaceSystemOutWithIOPrintby @timtebeek in #1118 - fix: do not replace lambda params with underscore when used as assignment target by @darrencilia in #1117
- Route WSS4J message.token classes to their real 2.x packages by @Jenson3210 in #1122
- Migrate
com.sun.xml.bind.marshaller.NamespacePrefixMappertoorg.glassfish.jaxb.runtime.marshaller.NamespacePrefixMapperby @Jenson3210 in #1121 - Fix
RefineSwitchCasesgenerating invalid guard on enum constant labels by @timtebeek in #1124 - Skip unparseable Java versions in FindJavaVersion instead of reporting -1 by @timtebeek in #1125
New Contributors
- @darrencilia made their first contribution in #1117
Full Changelog: v3.35.0...v3.36.0
3.35.0
What's Changed
- Add
java.io.IOimport inReplaceSystemOutWithIOPrintby @timtebeek in #1093 - Skip
UseMapOfwhenput()argument is a null literal by @timtebeek in #1094 - Migrate JAXB XJC binding files declaring version 2.0/2.1/2.2 by @MBoegers in #1098
- Preserve explicit type arguments in MigrateCollections* recipes by @timtebeek in #1099
- Route Maven through Moderne Artifactory cache to avoid HTTP 429 by @Jenson3210 in #1096
- Load sun.internal.new[Class].jar directly to fix CI test failures by @timtebeek in #1101
- Skip explicit type arguments containing wildcards in
UseVarForGenericMethodInvocationsby @timtebeek in #1102 - Skip
varwhen target type inference widens a generic argument by @timtebeek in #1103 - Skip
IfElseIfConstructToSwitchwheninstanceoftypes are missing by @timtebeek in #1095 - Revert inline Maven mirror (now in gh-automation#95) by @Jenson3210 in #1104
- Aggregate FindJavaVersion to one row per repository by @timtebeek in #1105
Full Changelog: v3.34.1...v3.35.0