Release Notes
Release Notes for migration toolkit for applications 8.2
Abstract
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-opscommand-line interface for stateless workload migrations The
mta-opscommand-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 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.
- 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
usingdirectives, object creation, annotations, method invocations, and type declarations. The C# provider also handles dynamic member access and tracks value flow in the source code.
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 |
|
|
Analyze command option to list target technologies. |
Use the |
|
|
Analyze command option to list source technologies. |
Use the |
|
|
Analyze command option to list providers for application analysis. |
Use the |
|
|
Test command to perform a dry run on default or custom ruleset. |
Use the |
|
|
Transform command to update Java libraries and frameworks in source code. |
Use the |
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 applyoverwrites existing target resources without warningWhen you deploy exported manifests with the
kubectl applycommand, existing resources in the target namespace are silently overwritten. This is standardkubectl applybehavior and not specific to themta-opscommand-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-ops transformdoes not accept the--overwriteflagThe
mta-ops transformcommand does not currently support the--overwriteflag. 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 transformcommand.
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
adminrole 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 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_primaryfield totruein 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.
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 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.
- 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.
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-proxyor--https-proxyoption 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.
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 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 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+dependencyanalysis generated fewer incidents in the static report. With this fix, MTA includes violations on open source dependencies in the Gradle analysis results.
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.
- 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.
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
codesnipsection 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 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-onlymode across MTA components (Developer Preview) You can use the external
csharpprovider to run an analysis insource-onlymode for C# source code in the migration toolkit for applications (MTA) command-line interface (CLI), user interface, and the MTA Visual Studio Code extension.csharpparses 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.- 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+dependencyanalysis 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).
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.
- 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 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_SERVICESenvironment 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.
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
Javabinary 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.
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
orderkeys listed in a section, for exampleanswers, have a unique order number.- 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+dependencyanalysis 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 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_SERVICESenvironment 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).
- Rules with
METHOD_CALLorCONSTRUCTOR_CALLdo not match expected locations when specifying parameters Search patterns in Java rules that have the
METHOD_CALLandCONSTRUCTOR_CALLlocations 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.
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+dependencybinary analysis.- 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 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_SERVICESenvironment 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 automatically tags imported Cloud Foundry applications
Before this update, when you imported applications from a Cloud Foundry (CF) instance, they lacked the
Cloud Foundrytag. 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.- 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.
- 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 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.Producesincorrectly matched with occurrences ofjavax.ws.rs.Produces. With this update, MTA uses the FQN in theANNOTATIONfield in rules to match annotations in the source code.- 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.
- 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 connectionsetting. As a consequence, the user interface displayed a blank page with theTypeErrorcannot 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 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 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
GitorSubversionrepository 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.- 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 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.
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 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 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 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 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-datacommand. 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.
- 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).
- 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.
NoteYou must restart your server after changing the GenAI settings for the change to take effect.
- 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.
ImportantYou 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.
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 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:
-
Clear the
.metadatasubdirectory under the directory from which you ran themta-cli analyzecommand. - Clear the Maven cache.
-
Clear the
- 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.
ANNOTATIONlocation rules do not match on FQNsThe
ANNOTATIONsearch 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 thejavax.enterprise.inject.Producespattern might incorrectly match the occurrences of thejavax.ws.rs.Producesannotation in the source code.No known workaround exists.
- 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';"
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.yamlfile with the discovervalues.yamlfile 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.yamlfile packaged with the Helm chart. As a consequence, MTA used only the values from thevalues.yamlfile created after running themta-cli discovercommand. With this update, MTA merges the defaultvalues.yamlfile with the discovervalues.yamlfile.- 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 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 + dependenciesmode 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.- The discovery manifest lists all defined web processes in the application
Before this update, the
mta-cli discovercommand only moved an application-level process with the process type explicitly defined to theprocessesblock in the discovery manifest. As a consequence, the discovery manifest did not list implicit application-level processes in theprocessesblock. 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 discovermoves both implicit and explicit application-level process types to theprocessesblock in the discovery manifest.