8.73.0 release (2026-02-11)
Total recipe count: 4755
info
This changelog only shows what recipes have been added, removed, or changed. OpenRewrite may do releases that do not include these types of changes. To see these changes, please go to the releases page.
Corresponding CLI version
- Stable CLI version
v3.53.2 - Staging CLI version:
v3.57.1
New Artifacts
- rewrite-prethink
New Recipes
- com.oracle.weblogic.rewrite.ReportDeprecated: This recipe will report uses of Java types that have been deprecated or removed in WebLogic.
- com.oracle.weblogic.rewrite.ReportDeprecatedOrRemoved1412: This recipe will report Java types that have been deprecated or removed in WebLogic version 14.1.2.
- com.oracle.weblogic.rewrite.ReportDeprecatedOrRemoved1511: This recipe will report Java types that have been deprecated or removed in WebLogic version 15.1.1.
- com.oracle.weblogic.rewrite.UpgradeJPATo31HibernateTo66: This recipe upgrades Jakarta JPA to 3.1 and Hibernate to 6.6 (compatible with Jakarta EE 10).
- com.oracle.weblogic.rewrite.hibernate.UpgradeHibernateTo66: This recipe upgrades Hibernate to version 6.6, which is compatible with Jakarta EE 10 and JPA 3.1. It also upgrades a few of the commonly used Hibernate add-ons.
- io.moderne.prethink.ComprehendCode: Use an LLM to generate descriptions for classes and methods in the codebase. Descriptions are cached based on source code checksums to avoid regenerating descriptions for unchanged code.
- io.moderne.prethink.ComprehendCodeTokenCounter: Estimate the input token counts that would be sent to an LLM for method comprehension, without actually calling a model. Uses OpenAI's tokenizer locally. Outputs to the MethodDescriptions table with blank descriptions.
- io.moderne.prethink.ExtractCodingConventions: Analyze the codebase to extract coding conventions including naming patterns, import organization, and documentation patterns.
- io.moderne.prethink.ExtractDependencyUsage: Analyze the codebase to extract dependency usage patterns by examining which types from external libraries are actually used in the code.
- io.moderne.prethink.ExtractErrorPatterns: Analyze the codebase to extract error handling patterns including exception types, handling strategies, and logging frameworks used.
- io.moderne.prethink.FindTestCoverage: Map test methods to their corresponding implementation methods. Uses JavaType.Method matching to determine coverage relationships. Optionally generates AI summaries of what each test is verifying when LLM provider is configured.
- io.moderne.prethink.UpdatePrethinkContextNoAiStarter: Generate Moderne Prethink context files with architectural discovery, test coverage mapping, dependency inventory, and FINOS CALM architecture diagrams. This recipe does not require an LLM provider - use UpdatePrethinkContextStarter if you want AI-generated code comprehension and test summaries.
- io.moderne.prethink.UpdatePrethinkContextStarter: Generate Moderne Prethink context files with AI-generated code comprehension, test coverage mapping, dependency inventory, and FINOS CALM architecture diagrams. Maps tests to implementation methods and optionally generates AI summaries of what each test verifies when LLM provider is configured.
- io.moderne.prethink.calm.FindCalmRelationships: Discover method call relationships within the repository for building interaction diagrams. Captures all method-to-method calls between in-repo classes. Entity IDs are resolved by GenerateCalmArchitecture when building CALM relationships.
- io.moderne.prethink.calm.FindDataAssets: Identify data assets including JPA entities, MongoDB documents, Java records, and DTOs in the application.
- io.moderne.prethink.calm.FindDatabaseConnections: Identify database connections and data access patterns in the application. Detects JPA entities, Spring Data repositories, JDBC templates, and MyBatis mappers.
- io.moderne.prethink.calm.FindDeploymentArtifacts: Identify deployment artifacts including Dockerfiles, docker-compose files, and Kubernetes manifests.
- io.moderne.prethink.calm.FindExternalServiceCalls: Identify outbound HTTP calls to external services. Detects RestTemplate, WebClient, Feign clients, Apache HttpClient, OkHttp, and JAX-RS clients.
- io.moderne.prethink.calm.FindMessagingConnections: Identify message queue producers and consumers. Detects Kafka, RabbitMQ, JMS, Spring Cloud Stream, and AWS SQS messaging.
- io.moderne.prethink.calm.FindProjectMetadata: Extract project metadata (artifact ID, group ID, name, description) from Maven pom.xml files.
- io.moderne.prethink.calm.FindSecurityConfiguration: Identify security configurations including Spring Security, OAuth2, and CORS settings.
- io.moderne.prethink.calm.FindServerConfiguration: Extract server configuration (port, SSL, context path) from application.properties and application.yml files.
- io.moderne.prethink.calm.FindServiceComponents: Identify service layer components (@Service, @Component, @Named) in the application. Excludes controllers and repositories which are handled by dedicated recipes.
- io.moderne.prethink.calm.FindServiceEndpoints: Identify all REST/HTTP service endpoints exposed by the application. Supports Spring MVC, JAX-RS, Micronaut, and Quarkus REST endpoints.
- io.moderne.prethink.calm.GenerateCalmMermaidDiagram: Generate a markdown file with a mermaid architecture diagram from discovered service endpoints, database connections, external service calls, and messaging connections.
- io.quarkus.updates.core.quarkus331.AddArglineToSurefireFailsafePlugins: Add or update
<argLine>in maven-surefire-plugin and maven-failsafe-plugin configuration to include@{argLine}placeholder. - io.quarkus.updates.core.quarkus331.JUnitRelocations:
- io.quarkus.updates.core.quarkus331.OpenTelemetryTracingPackageTypoFix:
- io.quarkus.updates.core.quarkus331.Testcontainers2:
- org.openrewrite.Singleton: Used as a precondition to ensure that a recipe attempts to make changes only once. Accidentally including multiple copies/instances of the same large composite recipes is a common mistake. If those recipes are marked with this precondition the performance penalty is limited. This recipe does nothing useful run on its own.
Usage in YAML recipes
Add org.openrewrite.Singleton as a precondition:
---
type: specs.openrewrite.org/v1beta/recipe
name: com.example.Append
displayName: My recipe
preconditions:
- org.openrewrite.Singleton
recipeList:
- org.openrewrite.text.AppendToTextFile:
relativeFileName: report.txt
content: 'Recipe executed'
```## Usage in Java recipes
Wrap visitors with `Singleton.singleton(this, visitor)` to ensure only the first *equivalent* recipe instance makes changes:
```java
@Override
public TreeVisitor<?, ExecutionContext> getVisitor(Accumulator acc) {
return singleton(this, new TreeVisitor<Tree, ExecutionContext>() {
@Override
public Tree visit(@Nullable Tree tree, ExecutionContext ctx) {
// Your transformation logic
return tree;
}
});
}
@Override
public Collection<SourceFile> generate(Accumulator acc, ExecutionContext ctx) {
if (!isSingleton(this, ctx)) {
return Collections.emptyList();
}
// Generate new sources
return results;
}
@Override
public TreeVisitor<?, ExecutionContext> getVisitor(Accumulator acc) {
return singleton(this, new TreeVisitor<Tree, ExecutionContext>() {
// Visitor logic
});
}
Note: Singleton status is determined by the recipe's equals() and hashCode() methods. If equivalent instances of a recipe are not considered singletons, ensure your recipe class correctly implements these methods. The easiest way is to use Lombok's @Value annotation on your recipe class, which automatically generates correct equals() and hashCode() implementations based on all fields.
- org.openrewrite.apache.httpclient5.MigratePoolingNHttpClientConnectionManager: Migrates
PoolingNHttpClientConnectionManagerfrom Apache HttpAsyncClient 4.x toPoolingAsyncClientConnectionManagerin HttpClient 5.x using the builder pattern. - org.openrewrite.apache.httpclient5.UpgradeApacheHttpClient_5_AsyncClientClassMapping: Migrates classes from Apache HttpAsyncClient 4.x
httpasyncclientto their equivalents in HttpClient 5.x. - org.openrewrite.apache.httpclient5.UsePoolingAsyncClientConnectionManagerBuilder: Moves method calls that exist on both
PoolingAsyncClientConnectionManagerandPoolingAsyncClientConnectionManagerBuilderinto the builder chain. - org.openrewrite.docker.AddAptGetCleanup: Adds cleanup commands to apt-get RUN instructions to reduce Docker image size. By default, adds 'rm -rf /var/lib/apt/lists/*' to remove cached package lists.
- org.openrewrite.docker.AddOciLabels: Adds standard OCI (Open Container Initiative) image labels to a Dockerfile. These labels provide metadata about the image such as title, version, source, and license information. See https://github.com/opencontainers/image-spec/blob/main/annotations.md for the specification.
- org.openrewrite.docker.AddOrUpdateLabel: Adds or updates a LABEL instruction in a Dockerfile. By default, adds to the final stage only.
- org.openrewrite.docker.AddUserInstruction: Adds a
USERinstruction to run the container as a non-root user (CIS Docker Benchmark 4.1). By default, adds to the final stage only and skips if aUSERinstruction already exists. - org.openrewrite.docker.ChangeFrom: Change the base image in a Dockerfile FROM instruction.
- org.openrewrite.docker.CombineRunInstructions: Combines consecutive
RUNinstructions into a single instruction to reduce image layers. Only shell formRUNinstructions without flags are combined. - org.openrewrite.docker.DockerBestPractices: Apply a set of Docker best practices to Dockerfiles. This recipe applies security hardening, build optimization, and maintainability improvements based on CIS Docker Benchmark and industry best practices.
- org.openrewrite.docker.DockerBuildOptimization: Apply build optimization best practices to Dockerfiles. This includes combining RUN instructions to reduce layers and adding cleanup commands to reduce image size.
- org.openrewrite.docker.DockerSecurityBestPractices: Apply security-focused Docker best practices to Dockerfiles. This includes running as a non-root user (CIS 4.1) and using COPY instead of ADD where appropriate (CIS 4.9).
- org.openrewrite.docker.NormalizeDockerHubImageName: Normalizes Docker Hub image names to their canonical short form by removing redundant registry prefixes like
docker.io/library/orindex.docker.io/. - org.openrewrite.docker.ReplaceAddWithCopy: Replaces
ADDinstructions withCOPYwhere appropriate.ADDis only kept when the source is a URL or a tar archive that should be auto-extracted. UsingCOPYis preferred for transparency (CIS Docker Benchmark 4.9). - org.openrewrite.docker.UseExecFormEntrypoint: Converts shell form
ENTRYPOINTandCMDinstructions to exec form (JSON array). Exec form is preferred because it runs the command as PID 1, allowing it to receive Unix signals properly. Shell form wraps commands in/bin/sh -cwhich can cause signal handling issues. - org.openrewrite.docker.search.FindBaseImages: Find all base images (
FROMinstructions) in Dockerfiles. - org.openrewrite.docker.search.FindEndOfLifeImages: Identifies Docker base images that have reached end-of-life. Using EOL images poses security risks as they no longer receive security updates. Detected images include EOL versions of Debian, Ubuntu, Alpine, Python, and Node.js.
- org.openrewrite.docker.search.FindExposedPorts: Find all
EXPOSEinstructions in Dockerfiles and report the exposed ports. - org.openrewrite.docker.search.FindMissingHealthcheck: Finds Dockerfiles where the final stage is missing a
HEALTHCHECKinstruction (CIS Docker Benchmark 4.6). Health checks help container orchestrators determine if a container is healthy and ready to receive traffic. - org.openrewrite.docker.search.FindRootUser: Finds containers that run as root user (CIS Docker Benchmark 4.1). This includes explicit
USER rootorUSER 0instructions, and optionally containers with noUSERinstruction in the final stage (which default to root). - org.openrewrite.docker.search.FindUnpinnedBaseImages: Finds FROM instructions that use unpinned base images (CIS Docker Benchmark 4.2). Images without an explicit tag default to 'latest', which is not reproducible. Images pinned by digest are considered acceptable.
- org.openrewrite.gradle.search.FindRepositoryOrder: Determine the order in which dependencies will be resolved for each
build.gradlebased on its defined repositories as determined when the LST was produced. - org.openrewrite.java.dependencies.FindRepositoryOrder: Determine the order in which dependencies will be resolved for each
pom.xmlorbuild.gradlebased on its defined repositories and effective settings. - org.openrewrite.java.dependencies.search.FindDuplicateClasses: Detects classes that appear in multiple dependencies on the classpath. This is similar to what the Maven duplicate-finder-maven-plugin does. Duplicate classes can cause runtime issues when different versions of the same class are loaded.
- org.openrewrite.java.dropwizard.MigrateToDropwizard5: Apply changes required to upgrade a Dropwizard 4.x application to 5.0.x. This includes upgrading dependencies, removing deprecated configuration options, and migrating Jetty handler implementations. Includes required migrations to Java 17, Jakarta EE 10, JUnit 5.14, Jackson 2.x, and Hibernate 6.6. See the upgrade guide.
- org.openrewrite.java.dropwizard.jetty.MigrateJettyHandlerSignature: Migrates custom Jetty handler implementations from Jetty 11's
AbstractHandler(used in Dropwizard 4.x) to Jetty 12'sHandler.Abstract(used in Dropwizard 5.x). This changes thehandlemethod signature and updatesbaseRequest.setHandled(true)to useCallbackand returntrue. - org.openrewrite.java.migrate.EnableLombokAnnotationProcessor: With Java 23 the encapsulation of JDK internals made it necessary to configure annotation processors like Lombok explicitly. The change is valid for older versions as well.
- org.openrewrite.java.migrate.MigrateGraalVMResourceConfig: Migrates GraalVM native-image resource-config.json files from the legacy regex pattern format (JDK 21 and earlier) to the new glob pattern format (JDK 23+). Converts
patternentries toglobentries and restructures the format. Note:excludesare no longer supported in the new format and will be removed. - org.openrewrite.java.migrate.UpgradeDockerImageVersion: Upgrade Docker image tags to use the specified Java version. Updates common Java Docker images including eclipse-temurin, amazoncorretto, azul/zulu-openjdk, and others. Also migrates deprecated images (openjdk, adoptopenjdk) to eclipse-temurin.
- org.openrewrite.java.migrate.util.UseListOf: Prefer
List.of(..)instead of usingjava.util.List#add(..)in anonymous ArrayList initializers in Java 10 or higher. This recipe will not modify code where the List is later mutated sinceList.ofreturns an immutable list. - org.openrewrite.java.migrate.util.UseSetOf: Prefer
Set.of(..)instead of usingjava.util.Set#add(..)in anonymous HashSet initializers in Java 10 or higher. This recipe will not modify code where the Set is later mutated sinceSet.ofreturns an immutable set. - org.openrewrite.java.recipes.DeclarativeSingleton: Adds the
org.openrewrite.Singletonprecondition to declarative YAML recipes to ensure they only execute once, even when included multiple times. - org.openrewrite.java.recipes.GenerateDeprecatedMethodRecipes: Finds
@Deprecatedmethod declarations whose body is a single delegation call to another method in the same class, and generates a declarative YAML recipe file containingInlineMethodCallsentries for each. - org.openrewrite.java.recipes.RemoveToBeRemoved: Removes class, method and variable declarations annotated with
org.openrewrite.internal.ToBeRemovedwhoseafterdate has passed. This does not remove invocations or references to such methods or variables. Those must be handled separately, e.g. withorg.openrewrite.java.InlineMethodCalls. - org.openrewrite.java.search.ModuleContainsFile: Intended to be used primarily as a precondition for other recipes, this recipe checks if a module contains a specific file or files matching a pattern. Only files belonging to modules containing the specified file are marked with a
SearchResultmarker. This is more specific thanRepositoryContainsFilewhich marks all files in the repository if any file matches. - org.openrewrite.java.search.ModuleUsesType: Intended to be used primarily as a precondition for other recipes, this recipe checks if a module uses a specified type. Only files belonging to modules that use the specified type are marked with a
SearchResultmarker. This is more specific thanUsesTypewhich only marks the files that directly use the type. - org.openrewrite.java.spring.NoHttpExchangeAnnotation: Replace method declaration
@HttpExchangeannotations with@GetExchange,@PostExchange, etc. - org.openrewrite.java.spring.batch.AddTransactionManagerToTaskletAndChunk: Spring Batch 5.0 requires a
PlatformTransactionManageras the second argument toStepBuilder.tasklet(Tasklet)andStepBuilder.chunk(int)/StepBuilder.chunk(CompletionPolicy). This recipe adds thetransactionManagerargument and injects it as a method parameter if needed. - org.openrewrite.java.spring.batch.MigrateStepExecutionTimestampTypes: In Spring Batch 5.0,
StepExecutionandJobExecutiontimestamp methods (getStartTime(),getEndTime(),getCreateTime(),getLastUpdated()) returnjava.time.LocalDateTimeinstead ofjava.util.Date. This recipe updates variable declarations accordingly. - org.openrewrite.java.spring.boot4.AddAutoConfigureWebTestClient: Adds
@AutoConfigureWebTestClientto test classes annotated with@SpringBootTestthat useWebTestClientsince this bean is no longer auto-configured as described in the Spring Boot 4 migration guide. - org.openrewrite.java.spring.framework.HttpComponentsClientHttpRequestFactoryConnectTimeout:
setConnectTimeout(..)was deprecated in Spring Framework 6.2 and removed in 7.0. This recipe adds a comment directing users to migrate toConnectionConfig.setConnectTimeout()on thePoolingHttpClientConnectionManager. - org.openrewrite.java.spring.security.SpringSecurityBestPractices: Applies security best practices to Spring applications, including TLS for database and message broker connections.
- org.openrewrite.java.testing.assertj.ReturnActual: Collapse an
assertThatstatement followed by areturnof the same object into a singlereturn assertThat(...).assertions().actual()statement. - org.openrewrite.java.testing.junit5.CleanupKotlinJUnit5AssertionImports: In Kotlin, when both
import org.junit.jupiter.api.*and static imports fromorg.junit.jupiter.api.Assertionsare present, there is overload resolution ambiguity between the Java static methods and the Kotlin extension functions. This recipe removes the static Assertions imports when the wildcard import is present, allowing the Kotlin extension functions to be used instead. - org.openrewrite.java.testing.junit5.MigrateAssertionFailedError: Replace JUnit 4's
junit.framework.AssertionFailedErrorandorg.junit.ComparisonFailurewith JUnit Jupiter'sorg.opentest4j.AssertionFailedError. - org.openrewrite.java.testing.junit5.UpdateMockWebServerMockResponse: Replace usages of OkHttp MockWebServer
MockResponsewith 5.x MockWebServer3MockResponseand it'sBuilder. - org.openrewrite.java.testing.mockito.MockConstructionToTryWithResources: Wraps
MockedConstructionvariable declarations that have explicit.close()calls into try-with-resources blocks, removing the explicit close call. This ensures proper resource management and makes the code cleaner. - org.openrewrite.maven.AddManagedPlugin: Add the specified Maven plugin to the Plugin Managed of the pom.xml.
- org.openrewrite.maven.RemoveMavenWrapper: Remove Maven wrapper files from a project. This includes the
mvnwandmvnw.cmdscripts, and the.mvn/wrapperdirectory. - org.openrewrite.node.dependency-vulnerability-check: This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest patch version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the
maximumUpgradeDeltaoption. Vulnerability information comes from the GitHub Security Advisory Database. - org.openrewrite.node.migrate.buffer.replace-deprecated-slice: Replace deprecated
buffer.slice()calls withbuffer.subarray()for compatibility with Uint8Array.prototype.slice(). - org.openrewrite.node.migrate.buffer.replace-slow-buffer: Replace deprecated
new SlowBuffer(size)calls withBuffer.allocUnsafeSlow(size). SlowBuffer was used to create un-pooled Buffer instances, but has been removed in favor of the explicit Buffer.allocUnsafeSlow() method. - org.openrewrite.node.migrate.crypto.replace-crypto-fips: Replace deprecated
crypto.fipsproperty access withcrypto.getFips()for reads andcrypto.setFips(value)for writes. - org.openrewrite.node.migrate.crypto.replace-hash-constructor: Replace deprecated
new crypto.Hash(algorithm)constructor calls withcrypto.createHash(algorithm)andnew crypto.Hmac(algorithm, key)withcrypto.createHmac(algorithm, key)factory methods. - org.openrewrite.node.migrate.fs.replace-dirent-path: Replaces deprecated
dirent.pathproperty access withdirent.parentPathonfs.Direntinstances to address DEP0178 deprecation. - org.openrewrite.node.migrate.fs.replace-fs-access-constants: Replace deprecated file access constants (
fs.F_OK,fs.R_OK,fs.W_OK,fs.X_OK) with their equivalents fromfs.constants. These constants were removed in Node.js v24+ and should be accessed through the constants namespace. - org.openrewrite.node.migrate.fs.replace-fs-truncate-fd: Replace deprecated
fs.truncate(fd, ...)andfs.truncateSync(fd, ...)calls withfs.ftruncate(fd, ...)andfs.ftruncateSync(fd, ...)when the first argument is a file descriptor (number). - org.openrewrite.node.migrate.fs.replace-stats-constructor: Replace deprecated
new fs.Stats()constructor calls with an object literal containing Stats properties initialized to undefined. - org.openrewrite.node.migrate.http.replace-outgoing-message-headers: Replace deprecated
OutgoingMessage.prototype._headerswithgetHeaders(),setHeader(),removeHeader()andOutgoingMessage.prototype._headerNameswithgetHeaderNames()to address DEP0066 deprecation. - org.openrewrite.node.migrate.net.remove-set-simultaneous-accepts: Remove calls to deprecated
net._setSimultaneousAccepts()which was an undocumented internal function that is no longer necessary. - org.openrewrite.node.migrate.process.coerce-process-exit-code: Wraps non-integer values passed to
process.exit()or assigned toprocess.exitCodewithMath.trunc()to avoid the DEP0164 deprecation warning about implicit coercion to integer. - org.openrewrite.node.migrate.process.remove-usage-of-features-tls-underscore_constants: Remove references to deprecated
process.features.tls_*properties, replace withprocess.features.tls. - org.openrewrite.node.migrate.stream.replace-internal-modules: Replace deprecated internal stream module imports like
require('node:_stream_readable')with the publicnode:streammodule. - org.openrewrite.node.migrate.tls.replace-internal-modules: Replace deprecated internal TLS module imports
require('node:_tls_common')andrequire('node:_tls_wrap')with the publicnode:tlsmodule. - org.openrewrite.node.migrate.upgrade-node-22: Migrate deprecated APIs for Node.js 22 compatibility. Addresses Node 22 runtime deprecations and deprecations from earlier versions.
- org.openrewrite.node.migrate.upgrade-node-24: Migrate deprecated APIs for Node.js 24 compatibility. Includes all migrations from Node.js 22, plus Node 23 and Node 24 deprecations.
- org.openrewrite.node.migrate.util.remove-promisify-on-promise: Removes
util.promisify()calls on functions that already return a Promise. Since Node.js v17.0.0, calling promisify on a function that returns a Promise emits a runtime deprecation warning (DEP0174). - org.openrewrite.node.migrate.util.replace-is-webassembly-compiled-module: Replace
util.types.isWebAssemblyCompiledModule(value)withvalue instanceof WebAssembly.Module. - org.openrewrite.node.migrate.util.replace-util-extend: Replace deprecated
util._extend(target, source)calls withObject.assign(target, source)which preserves the mutation behavior. - org.openrewrite.node.migrate.util.replace-util-log: Replace deprecated
util.log()calls withconsole.log(). Note:util.log()included timestamps, butconsole.log()does not. - org.openrewrite.node.migrate.util.use-native-type-checking-methods: The
utilmodule's type-checking methods have been removed in Node 22. - org.openrewrite.node.migrate.zlib.replace-bytes-read: Replace deprecated
bytesReadproperty on zlib streams withbytesWritten. - org.openrewrite.node.security.remove-redundant-overrides: Removes overrides/resolutions from package.json that are redundant because the dependency tree already resolves to the overridden version or higher.
- org.openrewrite.openapi.swagger.ConvertApiResponseHeadersToHeaders: Add
headers = @Header(name = ...)to@ApiResponse. - org.openrewrite.prethink.ExportContext: Export DataTables to CSV files in
.moderne/context/along with a markdown description file. The markdown file describes the context and includes schema information for each data table. - org.openrewrite.prethink.UpdateAgentConfig: Update coding agent configuration files (CLAUDE.md, .cursorrules, etc.) to include references to Moderne Prethink context files in .moderne/context/.
- org.openrewrite.prethink.UpdateGitignore: Updates .gitignore to allow committing the
.moderne/context/directory while ignoring other files in.moderne/. Transforms.moderne/into.moderne/*with an exception for!.moderne/context/. - org.openrewrite.prethink.UpdatePrethinkContext: Generate FINOS CALM architecture diagram and update agent configuration files. This recipe expects CALM-related data tables (ServiceEndpoints, DatabaseConnections, ExternalServiceCalls, MessagingConnections, etc.) to be populated by other recipes in a composite.
- org.openrewrite.prethink.calm.GenerateCalmArchitecture: Generate a FINOS CALM (Common Architecture Language Model) JSON file from discovered service endpoints, database connections, external service calls, and messaging connections.
- org.openrewrite.yaml.AddCommentToProperty: Add a comment to a YAML property. The comment will be added on the line before the property.
Removed Recipes
- org.openrewrite.docker.search.FindDockerImageUses: Produce an impact analysis of base images used in Dockerfiles, .gitlab-ci files, Kubernetes Deployment file, etc.
Changed Recipes
- org.openrewrite.java.OrderImports was changed:
- Old Options:
removeUnused: { type: Boolean, required: false }
- New Options:
removeUnused: { type: Boolean, required: false }style: { type: String, required: false }
- Old Options:
- org.openrewrite.javascript.change-import was changed:
- Old Options:
newAlias: { type: String, required: false }newMember: { type: String, required: false }newModule: { type: String, required: true }oldMember: { type: String, required: true }oldModule: { type: String, required: true }
- New Options:
None
- Old Options:
- org.openrewrite.javascript.dependencies.add-dependency was changed:
- Old Options:
packageName: { type: String, required: true }scope: { type: String, required: false }version: { type: String, required: true }
- New Options:
None
- Old Options:
- org.openrewrite.javascript.dependencies.find-dependency was changed:
- Old Options:
onlyDirect: { type: String, required: false }packageName: { type: String, required: true }version: { type: String, required: false }
- New Options:
None
- Old Options:
- org.openrewrite.javascript.dependencies.upgrade-dependency-version was changed:
- Old Options:
newVersion: { type: String, required: true }packageName: { type: String, required: true }
- New Options:
None
- Old Options:
- org.openrewrite.javascript.dependencies.upgrade-transitive-dependency-version was changed:
- Old Options:
dependencyPath: { type: String, required: false }newVersion: { type: String, required: true }packageName: { type: String, required: true }
- New Options:
None
- Old Options:
- org.openrewrite.javascript.migrate.es6.modernize-octal-escape-sequences was changed:
- Old Options:
useUnicodeEscapes: { type: String, required: false }
- New Options:
None
- Old Options:
- org.openrewrite.json.AddKeyValue was changed:
- Old Options:
key: { type: String, required: true }keyPath: { type: String, required: true }prepend: { type: boolean, required: false }value: { type: String, required: true }
- New Options:
key: { type: String, required: true }keyPath: { type: String, required: true }prepend: { type: Boolean, required: false }value: { type: String, required: true }
- Old Options:
- org.openrewrite.java.migrate.lang.UseTextBlocks was changed:
- Old Options:
convertStringsWithoutNewlines: { type: boolean, required: false }
- New Options:
avoidLineContinuations: { type: boolean, required: false }convertStringsWithoutNewlines: { type: boolean, required: false }
- Old Options:
- org.openrewrite.yaml.CopyValue was changed:
- Old Options:
newFilePath: { type: String, required: false }newKey: { type: String, required: true }oldFilePath: { type: String, required: false }oldKeyPath: { type: String, required: true }
- New Options:
createNewKeys: { type: Boolean, required: false }newFilePath: { type: String, required: false }newKey: { type: String, required: true }oldFilePath: { type: String, required: false }oldKeyPath: { type: String, required: true }
- Old Options: