Repository navigation
Releases: openrewrite/rewrite-migrate-java
Releases · openrewrite/rewrite-migrate-java
Release list
3.47.0
What's Changed
- Skip var for lambda and method reference initializers by @timtebeek in #1290
- Update the JVM version in one case in UpdateSdkManTest by @greg-at-moderne in #1291
- Only use var for primitives when the initializer has the declared type by @timtebeek in #1293
- Only copy declared type arguments onto diamond constructors when they match by @timtebeek in #1296
- Don't add the javax JAX-WS runtime when the API is 3.0 or later by @mohitduhan19 in #1294
- Fix ExtractExplicitConstructorInvocationArguments dropping extracted declarations by @timtebeek in #1297
- Only run tests for Thread methods removed from newer JDKs on Java 21 and below by @timtebeek in #1298
- Run tests on Java 25 in CI by @timtebeek in #1299
- Match logger class literals by type, and format only MXBean headers by @jkschneider in #1300
- Format and match a visited tree under its parent cursor by @jkschneider in #1302
- Write code the way the parser makes it, and import what it names by @jkschneider in #1303
- JavadocToMarkdownDocComment to generate DocComments, not plain comments by @greg-at-moderne in #1308
- JSpecify migrations remove nullability annotations from void methods by @sullis in #1285
- Map EE9 Jetty security and WebSocket artifacts to published Jetty 12 modules by @timtebeek in #1311
- Move EE9 Jetty Java packages to their EE10 and core equivalents in JettyUpgradeEE10 by @timtebeek in #1315
- Only add jakarta.annotation-api for JSR-250 types, not JSR-305 by @timtebeek in #1316
- Replace milestone CDI and Faces parser classpath pins with releases by @timtebeek in #1317
- Bump commons-fileupload2-jakarta-servlet5 target to 2.0.0-M5 by @timtebeek in #1320
- AddJaxbRuntime: update JAXB runtime versions held in parent POM and Gradle properties by @sambsnyd in #1309
- Bump expected hibernate-validator version to 7.0.6.Final in test by @greg-at-moderne in #1321
- Don't add JAXB/JAX-WS runtimes to Gradle buildscript dependencies by @steve-aom-elliott in #1318
- Fix FileuploadToFileUpload2 package migration and milestone version by @timtebeek in #1322
- Make recipes that needed a second cycle converge in one, or request it by @knutwannheden in #1324
- Find CompletableFuture async calls without an Executor by @steve-aom-elliott in #1313
- Upgrade Mockito to 5.20.x in UpgradeToJava25 by @ds-xdev in #1326
- Stop aspectjtools flip-flopping between cycles in UpgradeToJava25 by @timtebeek in #1327
- Upgrade to Gradle 9.8.2 by @jkschneider in #1328
- Migration recipes remove the imports they leave unused by @knutwannheden in #1329
- Do not drop the
elsebranch when merging a null check into a switch by @timtebeek in #1331 - Keep setters that do more than assign their parameter in
UseLombokSetterby @timtebeek in #1332 - Rewrite
Chars.comparetoCharacter.compareinstead of nonexistentChar.compareby @timtebeek in #1333 - Keep Lombok running when
AddLombokMapstructBindingcreatesannotationProcessorPathsby @timtebeek in #1335 - Leave if-else-if chains alone when a switch would change behaviour or not compile by @timtebeek in #1336
- Keep
HttpSession.invalidate()when addingHttpServletRequest.logout()by @timtebeek in #1334 - Use
JavaFileCheckerprecondition inExtractExplicitConstructorInvocationArgumentsby @timtebeek in #1337 - Add
jspecifydependency when migrating Micrometerio.micrometer.core.langannotations by @timtebeek in #1338 - Rewrite nested and unqualified
getRealPath(String)calls for Servlet 6 by @timtebeek in #1339 - Stop running the same recipe twice in the Java 8, 11, 21 and Faces 4.1 migrations by @timtebeek in #1340
- Map fastjson features to the right fastjson2 enum and migrate
@JSONFieldimports by @timtebeek in #1342 - Keep the unsigned TTL in
setTTLand thebytetype ingetTTLmigrations by @timtebeek in #1341 - Stop half-migrating
javax.servletinRemovalsServletJakarta10and add Jakarta APIs for subpackage-only users by @timtebeek in #1343 - Set Java version marker directly in tests using
allSourcesby @timtebeek in #1344 - Keep code out of converted Markdown doc comments and escaped tags visible by @timtebeek in #1345
- Use
UsesMethodpreconditions with the visitors' own matchers (J2) by @timtebeek in #1346 - Drop forced imports and unneeded
contextSensitive()fromJavaTemplaterecipes by @timtebeek in #1347 - Remove
TypeValidationrelaxations that hid recipe bugs (I2 of #1330) by @timtebeek in #1348 - Make
java.net/logging/langand Guava factory recipes declarative (J4) by @timtebeek in #1350 - Add missing preconditions and Java version gates to recipes (J1) by @timtebeek in #1349
- Keep method types in sync with renamed and rebuilt calls (I1 of #1330) by @timtebeek in #1351
- Drop pinned patch versions when upgrading Docker image tags (B3 of #1330) by @timtebeek in #1352
- Resolve stale
@Disabledand demo tests (K11 of #1330) by @timtebeek in #1353 - Drop YAML options set to their default value (K9 of #1330) by @timtebeek in #1354
- Use the
Commentstrait instead of hand-built comments (K5 of #1330) by @timtebeek in #1355 - Use
ListUtils,JavaIsoVisitorand null checks, drop restating comments (K6 of #1330) by @timtebeek in #1356 - Move tests to their recipe's package and name them after it (K10 of #1330) by @timtebeek in #1358
- Polish YAML recipe display names and descriptions (K8 of #1330) by @timtebeek in #1360
- Hoist visitor matchers and regexes into
private static finalconstants (K4 of #1330) by @timtebeek in #1357 - Polish Java recipe display names and descriptions (K7 of #1330) by @timtebeek in #1359
- Preserve nullable values in
UseMapOfprose-map conversions by @martinfrancois in #1204 - Honor Maven compiler processor paths when adding Lombok binding by @jkschneider in #1361
- Avoid hardcoded patch version in JavaxValidationMigrationToJakartaValidationTest by @jkschneider in #1362
- Drop Maven-only
changeManagedDependencyfrom GradleChangeDependencyClassifierby @timtebeek in #1363 - Fix
AboutJavaVersionsource version and per-run dedup (H1 of #1330) by @timtebeek in #1365 - Strip all leading asterisks in
DanglingDocCommentToBlockComment(C9 of #1330) by @timtebeek in #1364 - Fix root-package API recipes reached by the Java 11 migration (D8 of #1330) by @timtebeek in #1366
- Avoid adding Metro beside compatible JAX-WS providers by @jkschne...
3.46.0
What's Changed
- Leave a Groovy
defdeclaration alone instead of splicingvarinto its variable name. by @motlin in #1229 - Add
MigrateFromSpotBugsAnnotationsrecipe by @sullis in #1245 - Replace deprecated AWT
show()/hide()calls withsetVisibleby @timtebeek in #1247 - Use OpenRewrite's StringUtils instead of Micrometer's by @greg-at-moderne in #1248
- Extend JavaAwtAPIs with size, preferredSize, and countComponents renames by @jonico in #1249
- Upgrade the JDK in
maven:3.9-eclipse-temurin-*builder images when upgrading Java by @jkschneider in #1250 - Upgrade the bnd Maven plugin to 7.4.0 in the Java 25 migration by @jkschneider in #1251
- Upgrade explicit Java versions in
pom.xmlfiles that have no Maven model by @jkschneider in #1252 - Replace the retired
adoptsetup-java distribution withtemurinin the Java 25 migration by @jkschneider in #1253 - Upgrade Spring Boot 3 Maven parents to 3.5 in the Java 25 migration by @jkschneider in #1254
- Simplify the dead thread-group fallback left by
SystemGetSecurityManagerToNullby @jkschneider in #1255 - Keep single-statement blocks that carry comments when converting if/else-if to switch by @jkschneider in #1256
- Add the JAXB API dependency for
javax.xml.bindimports the parser could not resolve by @jkschneider in #1257 - Upgrade
cimg/openjdkCI job containers when upgrading Java by @jkschneider in #1258 - Replace the discontinued
mapstruct-jdk8artifact before upgrading the MapStruct version by @jkschneider in #1260 - Upgrade an existing Maven wrapper to 3.9.x alongside the Java 17 plugin upgrades by @jkschneider in #1261
- Upgrade Ehcache to 3.10.x when the Jakarta migration adds the
jakartaclassifier by @jkschneider in #1262 - The Jakarta JAXB migration adds
jakarta.xml.bind-apifor imports the parser could not resolve by @jkschneider in #1264 - The Jakarta annotation migration adds
jakarta.annotation-apifor imports the parser could not resolve by @jkschneider in #1265 - The Jakarta XML Web Services migration adds
jakarta.xml.ws-apifor imports the parser could not resolve by @jkschneider in #1266 - The Jakarta JAXB migration adds a JAXB runtime to modules that create a
JAXBContextby @jkschneider in #1267 - The Jakarta REST migration upgrades Jersey 2 to 3.0 and replaces the removed
LoggingFilterby @jkschneider in #1268 JavaxPersistenceXmlToJakartaPersistenceXmlfinds persistence descriptors by namespace instead of file name by @jkschneider in #1269- The Jakarta JAXB migration upgrades EclipseLink MOXy to 3.0 by @jkschneider in #1270
- The Jakarta migration updates Jakarta EE type names in string literals by @jkschneider in #1271
- Apply the springfox-swagger2 upgrade from NoGuava again by @timtebeek in #1286
- Limit DanglingDocCommentToBlockComment to Java sources by @timtebeek in #1287
New Contributors
Full Changelog: v3.45.0...v3.46.0
3.45.0
What's Changed
- Fix annotation handling in
LombokValToFinalVarby @sullis in #1237 - Add FindThreadStartInConstructor (Sonar S2693) by @steve-aom-elliott in #1238
- Add lombok.config recipes by @sullis in #1236
- Create root
lombok.configwhen a project has none by @sullis in #1242 - Stop transitive legacy kotlin-stdlib from capping Kotlin modules at Java 24 by @timtebeek in #1243
- Convert 5-arg URL constructor with URLStreamHandler to URL.of by @harrisleesh in #1241
- Add a
FlagUsagerecipe to stop Lombok'sval/varfrom coming back by @sullis in #1244
New Contributors
- @harrisleesh made their first contribution in #1241
Full Changelog: v3.44.0...v3.45.0
3.44.0
What's Changed
- Resolve org.openrewrite build plugins from the Code Genome Project by @kmccarp in #1231
- Improve test coverage for LombokValToFinalVar by @sullis in #1230
- Preserve casts when converting
lombok.valtofinal varby @sullis in #1233 - Do not add
finalto a try-with-resources resource by @sullis in #1232 - Do not run
ExtractExplicitConstructorInvocationArgumentson non-Java sources by @knutwannheden in #1235
Full Changelog: v3.43.0...v3.44.0
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