migration toolkit for applications 8.2

Release Notes

Release Notes for migration toolkit for applications 8.2

Red Hat Customer Content Services

Abstract

Review the new features, enhancements, fixed issues, and known issues in Migration Toolkit for Applications (MTA) 8.0, 8.1, and 8.2 to plan and manage your application updates. You can also explore available Technology Preview features and other release details.

Chapter 1. Migration toolkit for applications (MTA) 8.2

Review new features, enhancements, deprecated features, fixed issues, and known issues in migration toolkit for applications (MTA) 8.2.0.

1.1. New features and enhancements

Review new features and enhancements in migration toolkit for applications (MTA) 8.2.0.

The mta-ops command-line interface for stateless workload migrations

The mta-ops command-line interface (CLI) is a new standalone tool that migrates stateless Red Hat OpenShift workloads. It uses a multi-stage pipeline to locally export, transform, and render your application manifests. As a result, you can safely generate and validate manifests before using standard deployment tools.

For more information, see Migrating stateless workloads by using the mta-ops CLI.

An OIDC-compliant Hub provider for authentication and authorization

The MTA Hub implements an OpenID Connect (OIDC) standards-compliant provider that offers local user authentication and federation to other providers. You can use any of the following authentication methods:

  • The Hub OIDC for basic local authentication to reduce infrastructure management and configuration. You do not require any additional configuration to use basic local authentication.
  • An LDAP-backed authentication by using a declarative YAML configuration file.
  • An identity provider with MTA.

    You can integrate Google, Okta, Microsoft Entra ID, or a Keycloak instance you provision independently as an identity provider. If you deployed Keycloak in the MTA namespace in earlier versions before an upgrade, MTA automatically configures your instance as the identity provider.

    For more information, see Authentication and authorization.

MTA-7399

MTA introduces new commands and reorganized subcommands

The MTA command-line interface (CLI) introduces a reorganized command model to streamline major tasks you perform by using the CLI. You can use the main command and associated subcommands to complete specific tasks.

For more information, see About the MTA commands.

MTA-7398

C# provider uses the .NET Compiler Platform (Roslyn) analyzer for analyses

The C# provider uses the .NET Compiler Platform (Roslyn) analyzer to analyze C# applications. As a result, you do not need external tools to analyze project dependencies. The updated C# provider uses regular expressions for inheritence-aware symbol resolution. The symbol resolution improves application analysis by detecting references of the using directives, object creation, annotations, method invocations, and type declarations. The C# provider also handles dynamic member access and tracks value flow in the source code.

MTA-7400

1.2. Deprecated features

This section provides a list of all features deprecated in migration toolkit for applications (MTA) 8.2.0.

The following MTA command-line interface (CLI) commands are deprecated:

Table 1.1. Deprecated commands

Command

Feature or component

Alternative action

$ mta-cli analyze --list-targets

Analyze command option to list target technologies.

Use the $ mta-cli rules list-targets command.

$ mta-cli analyze --list-sources

Analyze command option to list source technologies.

Use the $ mta-cli rules list-sources command.

$ mta-cli analyze --list-providers

Analyze command option to list providers for application analysis.

Use the $ mta-cli provider list command.

$ mta-cli test <path_to_test_ruleset>

Test command to perform a dry run on default or custom ruleset.

Use the $ mta-cli rules test <path_to_test_ruleset> command.

$ mta-cli transform

Transform command to update Java libraries and frameworks in source code.

Use the $ mta-cli openrewrite command.

1.3. Known issues

Migration toolkit for applications (MTA) version 8.2.0 is affected by the following newly identified and previously known issues. A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.

1.3.1. mta-ops command-line interface

kubectl apply overwrites existing target resources without warning

When you deploy exported manifests with the kubectl apply command, existing resources in the target namespace are silently overwritten. This is standard kubectl apply behavior and not specific to the mta-ops command-line interface (CLI). As a consequence, you might accidentally overwrite existing workloads on the target cluster.

To work around this problem, manually verify that the target namespace does not have conflicting resources before deployment.

MTA-7103

mta-ops transform does not accept the --overwrite flag

The mta-ops transform command does not currently support the --overwrite flag. If a custom stage directory already exists, the pipeline stops. As a consequence, you cannot automatically overwrite existing custom modifications during a pipeline re-run.

To work around this problem, manually delete the existing transform or custom stage directory before you re-run the mta-ops transform command.

MTA-7234

1.3.2. MTA authentication

Keycloak administrators logging in to MTA cannot create a user

After authenticating to the MTA web console as a Keycloak administrator, you cannot perform user management tasks because these tasks require new scopes for the user, role, and tokens resources in MTA. A local user with admin role can create and manage users.

To work around this problem, add the following scopes for administrator users in Keycloak:

  • users:get
  • users:post
  • users:put
  • users:delete
  • roles:get
  • roles:post
  • roles:put
  • roles:delete
  • tokens:get
  • tokens:post
  • tokens:delete
  • scopes:get

    MTA-7235

MTA does not automatically redirect to the external identity provider for authentication

After you configure an external identity provider (IdP) for authentication, MTA does not automatically redirect to the IdP login page. As a consequence, you must click the Sign in with <identity_provider> option on the MTA login page to access the IdP login page.

To work around this problem, set the idp_primary field to true in the Tackle custom resource (CR). The MTA Hub identifies the external IdP as the primary authentication method and automatically routes to its login page for authentication.

MTA-7236

1.3.3. MTA analysis

MTA analysis does not match rule patterns when import statements have a wildcard

When you use a wildcard to import packages used by an annotation in your Java source code, an MTA analysis does not trigger a violation for such annotations. As a consequence, you are unable to fix all occurrences of an annotation defined in a rule because MTA triggered no incidents for some annotations.

No known workaround exists.

MTA-6530

MTA web console completes tech discovery and analysis with errors

The MTA web console completes tech discovery and analysis of certain projects with errors. As a consequence, the tech discovery does not generate all relevant tags and the analysis could miss triggering issues.

To work around this problem, ensure that you have a Gradle or a Maven build file at the root directory of your project.

MTA-6140

Custom rules do not trigger a violation in compiled binary application analysis

When you run an analysis by using a custom YAML rule for a compiled Java binary in the MTA web console, MTA does not trigger a violation.

No known workaround exists.

MTA-5199

1.4. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.2.0.

1.4.1. MTA command-line interface

MTA analysis generates a record when you use an HTTP or HTTPS proxy

Before this update, MTA did not generate an analysis log when you used the --http-proxy or --https-proxy option in an MTA CLI analysis. As a consequence, you could not verify if MTA routed the analysis through the proxy. With this fix, you can verify proxy use because MTA analysis records the use of a proxy.

MTA-6553

1.4.2. MTA web console

MTA discovers Maven applications that use self-signed certificates

Before this update, after you enabled the option to Consume insecure artifact repositories in the MTA web console, MTA discovery for Maven applications that use self-signed certificates failed. As a consequence, you could not generate deployment assets for the affected applications. With this fix, MTA connects with Maven application repositories that use a self-signed certificate and completes application discovery.

MTA-7361

MTA web console validates YAML custom rules

Before this update, the MTA web console did not validate the custom YAML rules you upload for an analysis or in custom targets. As a consequence, if a rule contained invalid keys or syntax errors, you did not see an error message. With this fix, MTA improves user experience by validating the custom rules you upload in the web console.

MTA-6834

MTA triggers violation for open source dependencies in Gradle applications

Before this update, MTA did not trigger violations for open source dependency libraries when analyzing Gradle applications. As a consequence, a source+dependency analysis generated fewer incidents in the static report. With this fix, MTA includes violations on open source dependencies in the Gradle analysis results.

MTA-6211

Chapter 2. Migration toolkit for applications (MTA) 8.1

This Release Notes section provides high-level coverage of the improvements and additions that have been implemented in migration toolkit for applications (MTA) 8.1.

2.1. MTA 8.1.3

The MTA 8.1.3 section lists the known problems and issues fixed in this release.

2.1.1. Known issues

Migration toolkit for applications (MTA) version 8.1.3 is affected by the following newly identified and previously known issues. A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.

MTA extension renders incorrectly in Red Hat OpenShift Dev Spaces

The MTA Visual Studio Code extension 8.1 renders inconsistently in the Red Hat OpenShift Dev Spaces dashboard open in the Firefox browser version 149.0. As a consequence, you are unable to perform tasks by using the extension.

To work around the problem, use the MTA Visual Studio Code extension in Red Hat OpenShift Dev Spaces through the Chrome browser.

MTA-6735

Source code includes code resolution suggestions after you reject the suggestions

When you request a code resolution in the but reject the suggested resolutions in the review editor, Red Hat Developer Lightspeed for MTA modifies the source code with the suggested changes. As a consequence, the source code state changes after you reject the suggestions but GitHub status does not show any state change for the file.

To work around the problem, restore the original code file by re-opening the Visual Studio Code editor.

MTA-6863

2.1.2. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.1.3.

You can run an analysis after restoring changes in a project from an earlier analysis

Before this update, the MTA extension showed resolution in progress if you accepted resolutions for a project in an earlier analysis and then, restored the project files. As a consequence, you were unable to perform further analysis because the extension did not restore its state based on the current state of the project. With this update, the MTA extension restores its state after running an analysis. As a result, you can accept changes suggested in an earlier analysis of a project and restore the project files, before running more analyses.

(MTA-6862)

2.2. MTA 8.1.2

The MTA 8.1.2 section lists the issues fixed in this release.

2.2.1. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.1.2.

The C# analyzer accurately calculates code snippet boundaries

Before this update, when analyzing C# applications, the migration toolkit for applications (MTA) incorrectly calculated the boundaries for code snippets when rule violations occurred further down in a source file. As a consequence, the codesnip section in the analysis output cut off right before the violation, failing to display the actual line of code causing the issue. With this update, the C# analyzer provider properly calculates the code snippet boundaries to include the affected lines. As a result, the generated code snippets in the analysis output correctly display the exact violation line numbers and their full context.

(MTA-6898)

2.3. MTA 8.1.1

The MTA 8.1.1 section lists the issues fixed in this release.

2.3.1. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.1.1.

The Application discovery manifest in the MTA UI displays YAML-formatted content

Before this update, the Application discovery manifest in the migration toolkit for applications (MTA) user interface (UI) did not display YAML-formatted content. As a consequence, you could only see raw JSON data that included all database record metadata instead of formatted YAML. With this release, the Application discovery manifest includes only YAML-formatted content fields.

(MTA-6774)

The MTA UI generates assets for applications without a discovery manifest

Before this update, the migration toolkit for applications (MTA) user interface (UI) did not allow you to generate assets for applications without an associated discovery manifest. As a consequence, you could not generate assets for applications with only source code that had not been discovered in a source platform. With this update, MTA supports generating assets for applications without a discovery manifest. As a result, you can use the MTA UI to generate these assets, which enhances deployment flexibility.

(MTA-6788)

2.4. MTA 8.1.0

Review new features, enhancements, and fixed issues in migration toolkit for applications (MTA) 8.1.

2.4.1. New features and enhancements

Review new features and enhancements in migration toolkit for applications (MTA) version 8.1.0.

Centralized configuration management across components for standardizing analysis configuration and custom rules

You can use the centralized configuration management to standardize analysis configurations and custom rules for the following migration toolkit for applications (MTA) components:

  • User interface (UI)
  • Command-line interface (CLI)
  • The Visual Studio Code MTA extension.

Profiles contain analysis configuration that allows organizations to standardize configuration and simplify configuration management by adopting a platform engineering approach. The architect can create, update, and delete profiles and custom rules. Migrators can sync with the MTA Hub to download available configuration bundles and use them to run an analysis in the UI, CLI, and by using the Visual Studio Code plugin.

MTA-6491

MTA supports proxy service to connect to the LLM
You can allow client endpoints, for example, the MTA Visual Studio Code extension, to use the proxy service to access the large language models (LLMs). The client uses Keycloak credentials to authenticate to the MTA Hub. To authenticate to the LLM, the client sends a JSON Web Token (JWT) issued by Keycloak to the proxy service. The proxy service validates the client’s JWT against the Hub’s Keycloak instance. In a separate process, the proxy service authenticates to the LLM by using the cluster secret that contains the LLM API key configured by the administrator. Thus, the proxy service allows administrators to create, manage, and rotate LLM API keys without the need to share the LLM key with multiple client endpoints.

2.4.2. Developer Preview features

Review Developer Preview features that are available in migration toolkit for applications (MTA) 8.1.0.

For more information about the support scope of Red Hat Developer Preview software, see Developer Preview Support Scope.

C# provider for analyzing C# applications in source-only mode across MTA components (Developer Preview)

You can use the external csharp provider to run an analysis in source-only mode for C# source code in the migration toolkit for applications (MTA) command-line interface (CLI), user interface, and the MTA Visual Studio Code extension. csharp parses the source code by using tree-sitter and uses stack graph for the analysis to find references to types, methods, classes, and fields. Based on the C# rule definition, the analyzer identifies violations in your code that you must resolve before the application migration.

MTA-6492

The MTA Visual Studio Code extension pack and the Core extension with language-specific extension (Developer Preview)

The migration toolkit for applications (MTA) Visual Studio Code extension consists of an analyzer Remote Procedure Call (RPC) binary that runs an analysis for the following extensions:

  • Core (supported)
  • C#
  • Java
  • Javascript
  • Go
  • Extension pack

You can download the MTA version 8.1.0 Visual Studio Code extension as an extension pack that bundles the Core extension along with all the supported language-specific extensions. You can also use this extension when you want to analyze a project in a specific programming language. Alternatively, you can download the MTA Core extension with one language-specific extension to analyze a project coded in the programming language supported by the extension.

2.4.3. Known issues

Understand how newly identified and previously known issues might affect your use of migration toolkit for applications (MTA) version 8.1.0, and how to work around them.

A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.

MTA UI does not trigger a violation for open source dependencies in Gradle applications

MTA user interface (UI) does not trigger a violation for open source libraries when you run a source+dependency analysis of a Gradle application. As a result, the analysis report does not list incidents for open source dependencies.

To work around this problem, analyze Gradle applications by using the MTA command-line interface (CLI).

MTA-6211

2.4.4. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.1.0.

Creating Source Control credentials no longer fails when the password exceeds the character limit

Before this update, you could not create Source Control credentials in the MTA user interface (UI) if you entered a user credential password that exceeded the 120-character limit. With this update, MTA does not limit the maximum length for user credentials. As a result, you can create Source Control credentials with longer passwords.

MTA-6598

Non-UTF-8 source files display correctly in a static report

Before this update, after you ran the source code analysis by using the MTA command-line interface (CLI), non-UTF-8 encoded source files appeared distorted in a static report, causing readability issues. With this update, the browser correctly displays non-UTF-8 encoded source files in the static report.

MTA-5932

MTA CLI correctly processes Cloud Foundry applications with service bindings

Before this update, the discovery process for Cloud Foundry (CF) applications with service bindings by using live connection failed in the migration toolkit for applications (MTA) command-line interface (CLI). MTA CLI did not parse the VCAP_SERVICES environment variables correctly to handle service binding information for services, for example, cf bind-service <application_name> postgres01. With this update, MTA CLI no longer fails to complete the discovery of CF applications with service bindings.

MTA-6424

Chapter 3. Migration toolkit for applications (MTA) 8.0

Review new features, enhancements, and fixed issues in migration toolkit for applications (MTA) 8.0.

3.1. MTA 8.0.1

Review new features and enhancements, fixed issues, and known issues in migration toolkit for applications (MTA) 8.0.1.

3.1.1. New features and enhancements

Review new features and enhancements in migration toolkit for applications (MTA) 8.0.1.

MTA supports pre-generated Maven index to reduce binary application analysis latency

Before this update, the analysis performance for Java binaries degraded because MTA relied on Maven search to analyze Java binary applications. With this enhancement, MTA has a pre-generated bundled Maven index that does not require connecting to an external index through a network connection. As a result, MTA performs fast, low-memory look-ups of Maven artifacts by using local Maven Search and you can analyze Java binaries in disconnected environments.

MTA-6231

3.1.2. Known issues

Understand how newly identified and previously known issues might affect your use of migration toolkit for applications (MTA) version 8.0.1, and how to work around them.

A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.

MTA assessment form malfunctions when you use it with a custom questionnaire

In the MTA user interface, selecting an answer to a question in the assessment form generated from a custom questionnaire causes the form to select an option available for another question.

To work around this problem, ensure that one or more order keys listed in a section, for example answers, have a unique order number.

MTA-6262

MTA UI does not trigger a violation for open source dependencies in Gradle applications

MTA UI does not trigger a violation for open source libraries when you run a source+dependency analysis of a Gradle application. As a result, the analysis report does not list incidents for open source dependencies.

To work around this problem, analyze Gradle applications by using the MTA command-line interface (CLI).

MTA-6211

MTA UI fails to process applications with service bindings

When you use the migration toolkit for applications (MTA) user interface (UI) to run an application discovery for a deployed Cloud Foundry (CF) application with a service binding, MTA UI does not parse the VCAP_SERVICES environment variables correctly to handle service binding information. As a consequence, the discovery fails.

To work around this problem, run the application discovery by using the MTA command-line interface (CLI).

MTA-6424

Rules with METHOD_CALL or CONSTRUCTOR_CALL do not match expected locations when specifying parameters

Search patterns in Java rules that have the METHOD_CALL and CONSTRUCTOR_CALL locations do not match the expected methods and constructors in the application source code.

For example:

    java.referenced:
      location: CONSTRUCTOR_CALL
      pattern: javax.servlet.UnavailableException(javax.servlet.Servlet,java.lang.String)

does not match

 String str = "something";
 Servlet s = exception1.getServlet();
 UnavailableException exception2 = new UnavailableException(s, str);

In addition, search patterns that do not contain Fully Qualified Names (FQNs) do not match. For example:

    java.referenced:
      location: CONSTRUCTOR_CALL
      pattern: UnavailableException(Servlet s,String str)

No known workaround exists.

MTA-6402

3.1.3. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.0.1.

Improved the performance of Java binary analysis
Before this update, when you analyzed Java binary applications, MTA incorrectly classified some open source dependencies as internal dependencies. As a consequence, MTA decompiled and analyzed these dependencies, which increased the analysis time. With this update, MTA passes the location of the Maven index file to the Java provider. As a result, MTA correctly determines whether an embedded dependency is open source or internal.
Analysis of binary applications classifies open source dependencies correctly

Before this update, when you analyzed Java binary applications, MTA incorrectly classified some open source dependencies as internal dependencies. With this update, MTA classifies embedded open source dependencies correctly after a source+dependency binary analysis.

MTA-6357

You can specify an organization when importing applications from Cloud Foundry

Before this update, when you imported applications from Cloud Foundry (CF), MTA did not have a provision for you to mention the CF organizations. With this update, you can configure one or more organizations, spaces, and applications for the discovery process. The spaces can belong to different organizations and the applications can belong to different spaces. You must specify at least one organization for application discovery.

MTA-6271

MTA CLI correctly processes Cloud Foundry applications with service binding

Before this update, the discovery process of Cloud Foundry (CF) applications with service bindings by using live connection failed in MTA CLI. The MTA CLI did not parse the VCAP_SERVICES environment variables correctly to handle service binding information for an array of services, for example, cf bind-service <application_name> postgres01. With this update, MTA CLI successfully completes the discovery of CF applications with service bindings.

MTA-6399

MTA automatically tags imported Cloud Foundry applications

Before this update, when you imported applications from a Cloud Foundry (CF) instance, they lacked the Cloud Foundry tag. As a consequence, you had to manually add this tag to link an application to an archetype. With this update, MTA automatically applies the tag. As a result, you no longer have to add it manually.

MTA-6282

You can import Cloud Foundry applications from the application inventory in the MTA web console

Before this update, an MTA Architect could not discover or import applications from the Cloud Foundry (CF) source platform on the application inventory page. As a consequence, only an MTA Administrator could import the applications on the Source platforms page in the Administrator mode. With this update, Architects can import CF applications in the Application Inventory.

MTA-6120

Concurrent usage of Red Hat Developer Lightspeed for MTA for code resolution at scale no longer causes race conditions

Before this update, concurrent usage of the Solution Server through the Red Hat Developer Lightspeed for MTA in Visual Studio Code for code resolution at scale caused race conditions for duplicate incidents. With this update, the plugin generates resolutions for the incidents identified when many users use it concurrently.

MTA-6230

MTA uses FQNs in Java rules to match annotations in source code

Before this update, the annotation rules for Java applications did not use Fully Qualified Names (FQNs) to match with the annotation location in source code. As a consequence, the rule triggered incorrect matches or false positives for issues. For example, a rule that looked for the javax.enterprise.inject.Produces incorrectly matched with occurrences of javax.ws.rs.Produces. With this update, MTA uses the FQN in the ANNOTATION field in rules to match annotations in the source code.

MTA-6195

MTA triggers rules to match import statements with a wildcard in Java applications analysis

Before this update, when analyzing a Java application, MTA did not trigger rules to match import statements that contained a wildcard. As a consequence, MTA did not detect specific incidents in the report. With this update, MTA triggers the rules to match these statements. As a result, it successfully detects the incidents.

MTA-4027

You can edit secure SVN application without an error in MTA user interface

Before this update, editing an application stored in a Subversion (SVN) repository caused issues if you disabled the Allow insecure connection setting. As a consequence, the user interface displayed a blank page with the TypeError cannot read properties of undefined (reading 'kind') error. With this update, MTA correctly handles secure SVN applications. As a result, you can successfully edit these applications in the user interface.

MTA-6263

MTA no longer fails language and tech discovery for Java application in SVN repositories

Before this update, for a Java application source code stored in a Subversion (SVN) repository, MTA produced an error when trying to checkout the repository by using the SVN credential. As a consequence, the language and tech discovery of the application failed. With this update, you can analyze an application stored in SVN repository without any error.

MTA-6141

MTA displays source repository URL when you skip configuring the repository type field

Before this update, MTA did not show the source repository URL in the application details view if you did not select between the Git or Subversion repository type. As a consequence, you could not run an analysis on the application source code. With this update, you can use MTA to run an analysis on the source code even if you do not configure the repository type field.

MTA-6105

You can complete an assessment by using a custom questionnaire in the MTA user interface

Before this update, you could not proceed to the final step after filling in the responses to the custom questionnaire because MTA disabled the Next button in the web console. With this update, you can complete the questionnaire in MTA user interface.

MTA-6143

MTA web console detects custom rules when you upload multiple rules at once

Before this update, when you uploaded more than one custom rule at a time in the web console, MTA did not detect the rules. With this update, you can upload one or more custom rules at once.

MTA-6029

3.2. MTA 8.0.0

Review new features, enhancements, Technology Preview features, removed features, fixed issues, and known issues in migration toolkit for applications (MTA) 8.0.0.

3.2.1. New features and enhancements

Review new features and enhancements in migration toolkit for applications (MTA) 8.0.0.

Red Hat Developer Lightspeed for MTA is available in the Visual Studio Code extension

You can opt to use Red Hat Developer Lightspeed for MTA features in the Visual Studio Code extension. With the Developer Lightspeed feature, you can use a large language model (LLM) of your choice to request code changes for resolving the issues found through a static code analysis of your Java application.

The Red Hat Developer Lightspeed for MTA core features are the following:

  • RAG solution: The Red Hat Developer Lightspeed for MTA uses Retrieval Augmented Generation (RAG) for context-based resolutions of issues in code. Developer Lightspeed improves the context shared with the LLM to generate more accurate suggestions to fix the issue in the code.

    The context is a combination of the source code, the issue description, and solved examples. Solved examples contain code changes you accepted for other migrations, code you manually modified, and a pattern of resolution for an issue that you can use in the future.

  • Solution Server (Technology Preview): Solution Server is a component that allows Red Hat Developer Lightspeed for MTA to build a collective memory of code changes from all analysis performed in an organization. It also works with the LLM to improve the pattern of resolutions from solved examples for future analysis.

    The Solution Server delivers two primary benefits to users:

    • Contextual Hints: It surfaces examples of past migration solutions, including successful user modifications and accepted fixes, offering actionable hints for difficult or previously unsolved migration problems.
    • Migration Success Metrics: It exposes detailed success metrics for each migration rule, derived from real-world usage data. Integrated Development Environments (IDEs) or automation tools can use these metrics to present users with a “confidence level” or likelihood of Red Hat Developer Lightspeed for MTA successfully resolving a given migration issue or incident.
  • Agentic AI (Technology Preview): In the agent mode, Red Hat Developer Lightspeed for MTA makes iterative resolutions to issues in code. If you accept the suggested resolutions, Developer Lightspeed scans the code for diagnostic or linting issues that the accepted solution might introduce and fixes those issues. NOTE: To obtain support for features in Red Hat Developer Lightspeed for MTA, you need an active Red Hat Advanced Developer Suite (RHADS) subscription.

MTA-5371

MTA supports platform awareness to import applications from source platform instances

You can use platform awareness to discover applications from a source platform and import them into the MTA application inventory. MTA discovers the applications by their coordinates on the source platform where you deployed them. With platform awareness, you can use the platform and runtime configurations of applications to create a discovery manifest to generate other deployment assets. In MTA 8.0.0, you can discover applications deployed in the Cloud Foundry platform.

MTA-4846

MTA supports asset generation for application migration in the web console

You can use the discovery manifest to generate assets in the web console to deploy applications in Red Hat OpenShift or Kubernetes. The asset generation workflow includes generators, target profiles, and the archetypes. Generators parse the application manifest configurations to create the deployment assets for a specific kind of target platform. In the target profiles, you can run one or more generators in sequence for a given archetype.

MTA-4847

MTA CLI supports running a live discovery in a remote CF instance

With this update, you can perform a live discovery to determine applications deployed in a certain Cloud Foundry (CF) cluster. For example, you can determine how many applications are in the cluster. You can also use the live discovery if you do not have access to manifest YAML files.

For more information, see Performing a live discovery in a remote CF instance.

MTA-4847

MTA CLI supports concealing sensitive information in a discovery manifest

You can conceal sensitive information, for example, services and Docker credentials, in a Cloud Foundry (CF) discovery manifest by using the mta-cli discover cloud-foundry --conceal-sensitive-data command. This command generates the following files:

  • A discovery manifest
  • A file with concealed data

For more information, see Concealing sensitive information in a discovery manifest.

MTA-4847

Analysis insights are available in the MTA UI

Analysis insights contain information about the technologies used in the application and their usage in the code. Before this update, you could only view insights in the analysis output and a static report after running an application analysis. With this enhancement, you can access analysis insights also from the migration toolkit for applications (MTA) user interface (UI).

MTA-5420

A new Visual Studio Code IDE plugin for application analysis

With this enhancement, you can use a new Visual Studio Code Integrated Development Environment (IDE) plugin that has the following features:

  • Standard application analysis and issue detection
  • Generative AI (GenAI) feature:

    • When enabled, you can use GenAI to find solutions for the analysis incidents. Note that GenAI is enabled by default.
    • When disabled, you can run a standard application analysis.
Note

You must restart your server after changing the GenAI settings for the change to take effect.

MTA-5360

MTA UI supports setting default credentials

Before this update, you could only assign credentials to an application manually after you added or imported this application to the migration toolkit for applications (MTA) user interface (UI). However, you might need to import a large set of applications, with each application requiring credentials for language and technology discovery tasks. With this update, instead of manually defining credentials, you can define default credentials for any application that does not have credentials.

Important

You can only set Maven or source control credentials as default credentials. You can define only one default set of credentials per credential type.

For more information, see Setting default credentials.

MTA-5254

3.2.2. Technology Preview features

Review all Technology Preview features available in migration toolkit for applications (MTA) 8.0.0.

For information on Red Hat’s scope of support for Technology Preview features, see Technology Preview Features Support Scope.

Support for the Solution Server in Developer Lightspeed (Technology Preview)

Solution Server is a component that allows Developer Lightspeed for MTA to build a collective memory of code changes from all analysis performed in an organization. This capability is a Technology Preview feature. The Solution Server works with the LLM to improve the pattern of resolutions from solved examples for future analysis.

The Solution Server has the following benefits:

  • Contextual Hints: It surfaces examples of past migration solutions, including successful user modifications and accepted fixes, offering actionable hints for difficult or previously unsolved migration problems.
  • Migration Success Metrics: It exposes detailed success metrics for each migration rule, derived from real-world usage data. These metrics can be used by Integrated Development Environments (IDEs) or automation tools to present users with a “confidence level” or likelihood of Developer Lightspeed for MTA successfully resolving a given migration issue or incident.
Support for Agentic AI in Developer Lightspeed (Technology Preview)
In the agent mode (Agentic AI), Developer Lightspeed for MTA makes iterative resolutions to issues in code. If you accept the suggested resolutions, Developer Lightspeed scans the code for diagnostic or linting issues that can occur due to the solution you accepted and fixes those issues. This capability is a Technology Preview feature.

3.2.3. Removed features

Review all features removed in migration toolkit for applications (MTA) 8.0.0. All removed features were deprecated in earlier releases and are no longer supported.

MTA removes support for XML rules

In migration toolkit for applications (MTA) 8.2.0, MTA removes XML rules and no longer supports them in the MTA user interface (UI) and command-line interface (CLI).

MTA-5357

MTA removes support for the Eclipse IDE plugin
MTA removes the Eclipse Integrated Development Environment (IDE) plugin for migration toolkit for applications (MTA) and no longer supports it. You could use this plugin to analyze the effort for migrating and modernizing your applications. As an alternative, you can use the migration toolkit for applications extension for Visual Studio Code.

3.2.4. Known issues

Understand how newly identified and previously known issues might affect your use of migration toolkit for applications (MTA) version 8.0.0, and how to work around them.

A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.

Application analysis with MTA CLI might fail with the "invalid header line" error

An application analysis by using the migration toolkit for applications (MTA) command-line interface (CLI) might fail with the following error message:

level=error msg="initialize failed" error="context canceled" provider=java
error="invalid header line "An error has occurred. See the log file"

To work around this problem, clean up metadata and cache:

  1. Clear the .metadata subdirectory under the directory from which you ran the mta-cli analyze command.
  2. Clear the Maven cache.

MTA-6125

MTA analysis result does not change if you add or remove a custom rule

When you use Developer Lightspeed for MTA, the analysis results do not change if you include or remove a custom rule but do not restart the analyzer process.

To work around this problem, restart the analyzer process by clicking the Start/Stop button after making a configuration change.

MTA-6129

ANNOTATION location rules do not match on FQNs

The ANNOTATION search location does not properly use Fully Qualified Names (FQNs) to match annotations. This leads to incorrect matches and false positives in analysis issues. For example, a rule that searches for annotations using the javax.enterprise.inject.Produces pattern might incorrectly match the occurrences of the javax.ws.rs.Produces annotation in the source code.

No known workaround exists.

MTA-6195

Developer Lightspeed for MTA database throws a connection error

The Solution Server throws a connection error when concurrent connections increase in a short span of time. To work around this problem, enter the following command to allow the Developer Lightspeed for MTA database to expire idle connections:

oc -n openshift-mta exec deploy/kai-db – psql -U postgres -d postgres -c "ALTER ROLE kai SET idle_session_timeout = '1min'; ALTER ROLE kai SET idle_in_transaction_session_timeout = '1min';"

MTA-6204

3.2.5. Fixed issues

Review issues that have been fixed in migration toolkit for applications (MTA) version 8.0.0.

MTA merges the default values.yaml file with the discover values.yaml file when generating a deployment manifest

Before this update, when you generated a deployment manifest by using the Helm template, MTA ignored the default values in the values.yaml file packaged with the Helm chart. As a consequence, MTA used only the values from the values.yaml file created after running the mta-cli discover command. With this update, MTA merges the default values.yaml file with the discover values.yaml file.

MTA-5793

MTA CLI no longer fails to detect dependencies for Gradle projects

Before this update, when you ran an application analysis for Gradle projects in containerless mode, migration toolkit for applications (MTA) command-line interface (CLI) did not detect Gradle dependencies. As a consequence, the analysis report did not list the dependencies and displayed an error message in the analysis logs instead. With this update, MTA CLI detects Gradle dependencies after the analysis is complete.

MTA-4033

MTA UI no longer fails to analyze projects built with Gradle version 7 and later

Before this update, when you analyzed an application built with Gradle in Source code + dependencies mode in the migration toolkit for applications (MTA) user interface (UI), the analysis failed if you had Gradle version 7 or later installed. With this update, you can analyze applications built with Gradle 7 or later in the MTA user interface.

MTA-5907

The discovery manifest lists all defined web processes in the application

Before this update, the mta-cli discover command only moved an application-level process with the process type explicitly defined to the processes block in the discovery manifest. As a consequence, the discovery manifest did not list implicit application-level processes in the processes block. This resulted in the violation of the recommended clarity and proper configuration practices, especially if Cloud Foundry application manifest included multiple process types. With this update, mta-cli discover moves both implicit and explicit application-level process types to the processes block in the discovery manifest.

MTA-6030

Legal Notice

Copyright © 2026 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.