Release Notes
Release Notes for Migration Toolkit for Applications 8.0
Abstract
Chapter 1. MTA 8.0.1
The MTA 8.0.1 section lists the fixed issues and known issues.
1.1. Known issues
Migration Toolkit for Applications (MTA) version 8.0.1 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 user interface displays errors when you edit an SVN application that requires a secure connection
In the MTA user interface, if you disable the Allow insecure connection for an application stored in the SVN repository and edit the application, the user interface displays a blank page some times with the TypeError cannot read properties of undefined (reading 'kind').
No known workaround exists. MTA-6263
MTA assessment form malfunctions when you use it with a custom questinnaire
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.
No known workaround exists. MTA-6262
1.2. Fixed issues
Migration Toolkit for Applications (MTA) version 8.0.1 provides the following fixed issues and other problems that have a significant impact.
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 result, only an MTA Administrator could import the applications from the Source Platform page in the Administrator mode. With this release, this issue is fixed. Architects can now import CF applications in the Application Inventory. MTA-6120
Cloud Foundry applications imported in MTA are tagged automatically
When you imported applications in MTA from a Cloud Foundry (CF) instance, the applications did not contain the Cloud Foundry tag. The tag links an application to an archetype. The archetype has a generator that produces the deployment assets for a migration path. With this release, this issue is fixed. You no longer have to manually add the Cloud Foundry tag in the imported application. MTA-6282
MTA enables you to target an organization when importing applications from Cloud Foundry
When you imported applcations from Cloud Foundry (CF), MTA did not have a provision for you to mention a target organization. With this release, this issue is fixed. 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. MTA-6271
MTA displays source repository URL when you skip configuring the repository type field
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 result, you could not run an analysis on the application source code. With this release, this issue is fixed. You can now use MTA to run an analysis on the source code even if you do not configure the repository type field. MTA-6105
MTA triggers rules to match import statements with wildcard in Java applications analysis
MTA did not trigger rule to match import statements that contain a wildcard when analyzing a Java application. Consequently, specific incidents were not detected in the report after the analysis. With this release, this issue is fixed. MTA-4027
Concurrent usage of Red Hat Developer Lightspeed for MTA for code resolution at scale no longer causes race conditions
Concurrent usage of the Solution Server through the Red Hat Developer Lightspeed for MTA Visual Studio (VS) Code plugin for code resolution at scale caused race conditions for duplicate incidents. With this release, this issue is fixed. The plugin generates resolutions for the incidents identified when many users use it concurrently. MTA-6230
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 an SVN repository, MTA produced an error when trying to checkout the repository by using the SVN credential. As a result, the language and tech discovery of the application failed. With this release, this issue is fixed. You can now analyze an application stored in SVN repository without any error.MTA-6141
MTA rules for Java use FQN 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 rules. As a result, 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 release, this issue is fixed. MTA-6195
MTA flags open source dependencies in Gradle applications
MTA did not trigger a violation for open source libraries in a source+dependency analysis of a Gradle application. With this release, this issue is fixed. MTA-6211
MTA web console detects custom rules when many are uploaded at a time
When you uploaded more than one custom rule at a time in the MTA web console, the rules were not detected. With this version, this issue is fixed. You can upload multiple custom rules at once. MTA-6029
Chapter 2. MTA 8.0.0
The MTA 8.0.0 section lists the new features and enhancements, technology preview features, removed features, fixed issues, and known issues.
2.1. New features and enhancements
Migration Toolkit for Applications (MTA) version 8.0.0 provides the following major new features and enhancements.
Red Hat Developer Lightspeed for MTA is available in the VS Code extension
You can opt to use Red Hat Developer Lightspeed for MTA features in the VS 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. These metrics can be used by IDEs or automation tools 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 can be created due to the accepted solution 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-5738)
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 in the source platform where they are deployed. With platform awareness, you can use the platform and runtime configurations of applications to create a discovery manifest that can be used 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 if you want to determine what is 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, insights were only available in the analysis output and a static report after you ran 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 VS Code IDE plug-in for application analysis
With this enhancement, you can use a new Visual Studio Code (VS Code) IDE plug-in 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 Gen AI settings for the change to take effect.
(MTA-5360)
Setting default credentials is supported in the MTA UI
Before this update, you could only assign credentials to an application manually once 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, each of these applications requiring credentials for language and technology discovery tasks. With this update, instead of manually defining credentials, you can define credentials that will be used by default for an application that does not have any credentials assigned to it.
You can only set Maven or source control credentials as default credentials. You can only define one default set of credentials per credential type.
For more information, see Setting default credentials.
(MTA-5254)
2.2. Technology Preview features
This section provides a list of 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 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 be created due to the accepted solution and fixes those issues. This capability is a Technology Preview feature.
2.3. Removed features
This section provides a list of 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.
XML rules are removed
In Migration Toolkit for Applications (MTA) 8.0.0, XML rules are removed and are no longer supported both in the MTA user interface (UI) and command-line interface (CLI).
(MTA-5357)
The Eclipse IDE plugin is removed
The Eclipse IDE plugin for Migration Toolkit for Applications (MTA), which you could use to analyze the effort for migrating and modernizing your applications, is removed and is no longer supported. As an alternative, you can use the Migration Toolkit for Applications extension for Visual Studio Code (VS Code).
2.4. Known issues
Migration Toolkit for Applications (MTA) version 8.0.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.
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.
(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)
2.5. Fixed issues
Migration Toolkit for Applications (MTA) version 8.0.0 provides the following fixed issues and other problems that have a significant impact.
The default values.yaml file is merged 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, the default values in the`values.yaml` file, packaged with the Helm chart, were ignored. Consequently, only the values from the values.yaml file created after running the mta-cli discover command were used. With this update, the default values.yaml file is merged 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, the issue is fixed. As a result, MTA CLI detects Gradle dependencies after the analysis is complete.
(MTA-5793)
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, the issue is fixed.
(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. Consequently, 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 multiple process types were planned. 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)