What's new in the Migration Toolkit for Application Binaries
23.0.0.5
Released December 2023
Java SE and Java/Jakarta EE Automated Fixes on the Command Line via Recipes
The Migration Toolkit for Application Binaries now supports automated source code fixes on the command line for moving to several Java versions. These include Java version 7,8,9, Jakarta EE 9 and Jakarta EE 10. See Detailed Migration Analysis Report for instructions on performing application analysis and reviewing the several available rules with automated fixes. The report also provides the Automated Fix Configuration section that contains the config of all supported recipes. These include over 40 recipes covering several versions of Java in addition to the many existing Liberty recipes (rewrite-liberty).
Support
Bug and field support fixes were added to this release.
23.0.0.3
Released September 2023
WebSphere traditional to Liberty Automated Fixes on the Command Line via Recipes
The Migration Toolkit for Application Binaries now supports automated source code fixes on the command line using recipes. The OpenRewrite open source project rewrite-liberty contains recipes that automate the source code changes and are run through Maven and Gradle build invocation when moving from WebSphere traditional to Liberty. Applications flagged with WebSphere to Liberty rules provide a new section in the produced HTML and JSON report for automating certain source code changes. The generated automated fix configuration can be run through Maven or Gradle build invocations, depending on your preferred platform.
DataStoreHelper Rule Additions
New rules were added to flag usage of DataStoreHelper APIs.
Additional Configuration Migration to Liberty
Support for migrating additional WebSphere Application Server Configuration for DataStoreHelper, XML bindings and JDBC Exception Mapping.
Support
Bug and field support fixes were added to this release.
23.0.0.2
Released June 2023
Support
Bug and field support fixes were added to this release.
23.0.0.1
Released March 2023
New Jakarta EE 10 Migration
The Migration Toolkit for Application Binaries now supports migrating from any previously supported Java/Jakarta EE
to Jakarta EE 10. Liberty supports the usage of Jakarta EE 10 in beta releases.
The Jakarta EE 10 rules flag
specific references to identified issues in migrating to Jakarta EE 10 and provide detailed help for those issues.
You can take advantage of these rules by specifying the --targetJakartaEE=ee10
option.
User-Defined Rules: Boolean Operators
Boolean operators <and>
and <or>
have been added to allow for combining
rules. See User-Defined Rules to learn more.
User-Defined Rules: Missing Root Nodes and Attributes
The detectElement
rule now has the flagNoRootNode
attribute which will flag files
that do not have a root node. The detectAttribute
rule now has the flagIfAttributeMissing
attribute that will flag the specified tags
if the specified attributeName
is not found.
See Detect Element (detectElement) and Detect Attribute (detectAttribute).
Support
Bug and field support fixes were added to this release.
22.0.0.7
Released December 2022
New Jakarta EE9 Migration
The Migration Toolkit for Application Binaries now supports migrating from any previously supported Java/Jakarta EE
to a Jakarta EE9. Liberty supports the usage of Jakarta EE9. The Jakarta EE9 rules flag
specific references to identified issues in migrating to Jakarta EE9 and provide detailed help on those issues.
You can take advantage of these rules by specifying the --targetJakartaEE=ee9
option.
Support
Bug and field support fixes were added to this release.
22.0.0.6
Released September 2022
TA Data Collection Updates
The Migration Toolkit for Application Binaries can generate a data collection to be uploaded to IBM Cloud
Transformation Advisor using the --ta
option. The location of the generated archive for upload
to Transformation Advisor is printed after running. TA data collection includes additional information on
traditional WebSphere Application Server Network Deployment clusters detected during a scan.
--ta
option:
- --stopOnMissingBinary - Specify to stop the data collection when an application binary cannot be found either in the configuration or in its expanded form.
- --stopOnMissingSharedLibrary - Specify to stop the data collection when a shared library is not accessible from the scan location.
- --excludeApplicationFile - Specify the path to the file containing the names of the applications to exclude from the scan.
--ta
see Transformation Advisor Data Collection.
Additional Configuration Migration to Liberty
- configuration for session persistence to a database, including required datasource resource
- transaction peer recovery, transaction service settings, including both file-based, database-based transaction logging.
JAX-RPC Detection Improvements
Modifications were made to reduce flagging of unused JAX-RPC artifacts.
Inventory Improvements
The Operational Considerations section of the Inventory report includes more information on session persistance, transaction recovery, and traditional WebSphere Application Server Network Deployment clusters.
Support
Bug and field support fixes were added to this release.
22.0.0.3
Released June 2022
TA Data Collection Mode
The Migration Toolkit for Application Binaries can generate a data collection to be uploaded to IBM Cloud
Transformation Advisor using the --ta
option. After uploading the data collection, you can view the results
in Transformation Advisor, where you can gain application modernization insights including common code
discovery, application migration complexities, and estimate development costs as well as produce migration
artifacts for containerized environments. For more details see Transformation Advisor Data Collection.
Inventory Optimizations and Improvements
Inventory scans will now dive deeper into your application in order to better identify unused archives while also reducing the overall scan time. Run time is heavily dependent on the size of an archive, but some larger application scans have seen improvements upwards of 15%.
JAX-RPC Conversion Tool Pre-validation
Analysis and Technology scans have integrated the ability to validate whether an application can use the new JAX-RPC Conversion Tool for bytecode modification. With the release of IBM's new JAX-RPC Conversion Tool some JAX-RPC web services can be migrated to JAX-WS web services through an application archive modification process. The JAX-RPC rules and help were updated with more information about the usage of the tool.
FeatureList Jakarta 9 Support
FeatureList scans will now identify Javarta 9 dependencies and recommend the necessary features for them.
Support
Bug and field support fixes were added to this release.
22.0.0.2
Released May 2022
TA Data Collection Mode
The Migration Toolkit for Application Binaries can generate a data collection to be uploaded to IBM Cloud
Transformation Advisor using the --ta
option. After uploading the data collection, you can view the results
in Transformation Advisor, where you can gain application modernization insights including common code
discovery, application migration complexities, and estimate development costs as well as produce migration
artifacts for containerized environments. For more details see Transformation Advisor Data Collection.
Support
Bug and field support fixes were added to this release.
21.0.0.4
Released December 2021
New Java SE 17 Migration
The --targetJava=java16
non-LTS (Long-Term-Support) option was deprecated and
replaced with --targetJava=java17
option. Setting --targetJava=java17
provides the same functionality as migrating to Java SE 16, but with extra rules pertaining to the
updates made in Java SE 17. Java SE 17 is a Long Term Supported Java version.
Configuration with a properties file
The Migration Toolkit for Application Binaries can now be configured using a properties file. There is a
scanner.properties
file in the same directory as the binary scanner jar that can be
used to configure your application scans.
User-defined rules update
The detectClass
rule type now supports flagging on method visibility for implemented methods
through the new accessFlag
attribute on implementsMethod
.
Support
Bug and field support fixes were added to this release.
21.0.0.3
Released September 2021
User-Defined Rules
The Migration Toolkit for Application Binaries now allows for user-defined analysis rules to detect scenarios specific to your
application migration. The user-defined rules are written in XML files. The rule files are grouped together in an XML list file and then specified
using the --userRuleLocation
parameter.
The Migration Toolkit for Application Binaries allows for user-defined analysis rules to be the only rules run by forgoing any pre-written rules inside the tool. To do this use the
--userRulesOnly
parameter in the command. This parameter must be used with --userRuleLocation
.
New Option for Generating Separate Reports
The Migration Toolkit for Application Binaries now supports the creation of all report files separately with a single command. To do this specify --all-separate-reports
parameter. This parameter will generate Technology Evaluation, Detailed Migration Analysis, Inventory, and Configuration report files.
New Java SE 16 Deprecation Rules
To help users moving to the latest Java versions, we have added rules for new deprecations to our Java SE 16 migration scenario.
Support
Bug and field support fixes were added to this release.
21.0.0.2
Released June 2021
New Java SE 16 Migration
The --targetJava=java15
non-LTS (Long-Term-Support) option was deprecated and replaced with
--targetJava=java16
non-LTS option. Setting --targeJava=java16
provides the same functionality as migrating to Java SE 15, but
with extra rules pertaining to the updates made in Java SE 16. Java SE 16 is a non Long Term
Supported Java version. To migrate to an LTS Java version, migrate to Java SE 11 using the
--targetJava=java11
option.
TLS/SSL Configuration Migration to Liberty
Additional support added for security configuration migration. WebSphere traditional TLS/SSL configuration is now migrated to a Liberty server.xml. Additionally, referenced keystores and truststores are now copied to the output folder when --includeSensitiveData is specified.
Support
Bug and field support fixes were added to this release.
21.0.0.1
Released March 2021
New Java SE 15 Migration
The --targetJava=java14
non-LTS (Long-Term-Support) option was deprecated and replaced
with --targetJava=java15
non-LTS option. Setting --targeJava=java15
provides the same functionality as migrating to Java SE 14, but with extra rules pertaining to the updates
made in Java SE 15. Java SE 15 is a non Long Term Supported Java version. To migrate to an LTS Java version,
migrate to Java SE 11 using the --targetJava=java11
option.
Application Security Configuration Migration Updates
Additional support added for security configuration migration. WebSphere traditional security role bindings, standalone and federated LDAP security configuration can be migrated using wsadmin scripts. Additionally, if an application was using LDAP security configuration defined in a security domain, that configuration is now migrated.
Added Open Liberty to the Technology Report
Open Liberty has been added to the Technology migration report.
Archive Checksum Algorithm Changed from MD5 to SHA256
All Java archive files now have an SHA256 checksum associated with them for help tracking duplicates within an application.
Support
Bug and field support fixes were added to this release.
20.0.0.4
Released December 2020
Application Security Configuration Migration Updates
Additional support added for security configuration migration. WebSphere traditional security role bindings, standalone and federated LDAP security configuration can be migrated to a Liberty server.xml. Additionally, any username configuration that is extracted into variables is now treated as sensitive data.
Added Support for Migration to Open Liberty
Setting your target application server to Open Liberty is now supported. Set --targetAppServer=openLiberty
to
migrate to Open Liberty.
Archive Checksum Addition in Inventory Report
All Java archive files now have an MD5 checksum associated with them for help tracking duplicates within an application.
Support
Bug and field support fixes were added to this release.
20.0.0.3
Released September 2020
Inventory Report Operational Considerations Improvements
The operational considerations section in the Inventory report was updated to provide additional guidance on setting up session caching.
JNDI Binding Names Configuration Migration
JNDI bindings in WebSphere traditional can now be migrated to a Liberty application server using the configuration migration command.
Java 11 Rule Addition
A new rule was added to warn users of the version format change when migrating to Java 11 and later versions.
Support
Bug and field support fixes were added to this release.
20.0.0.2
Released June 2020
Inventory Report Operational Considerations
A new operational consideration section was added to the inventory report. This section includes an overview of the application's deployment in WebSphere traditional. If the application is deployed to WebSphere Application Server Network Deployment and utilizing static clustering or session replication, advice is provided for configuring them in a containerized cloud environment.
New Java SE 14 Migration
The --targetJava=java13
non-LTS (Long-Term-Support) option was deprecated and
replaced with --targetJava=java14
non-LTS option. Setting
--targeJava=java14
provides the same functionality as migrating to Java SE 13, but
with extra rules pertaining to the updates made in Java SE 14. Java SE 14 is a non Long Term
Supported Java version. To migrate to an LTS Java version, migrate to Java SE 11 using the
--targetJava=java11
option.
JVM Options Migration
The migration of JVM option configuration from WebSphere traditional to Liberty is now supported.
Configuration Value Paramaterization
When migrating from WebSphere traditional to Liberty, values of certain configuration elements that often differ between environments are now parameterized with variables to allow for easy substitution.
Deprecation of --verbose and Logging Updates
The --verbose
option has been deprecated. The updated logging infrastructure can
now be accessed with specifying --debug
.
Support
Bug and field support fixes were added to this release.
20.0.0.1
Released March 2020
New Java SE 13 Migration
Rule addtions to the Java SE 13 non-LTS migration option.
Configuration Migration Support for --sharedLibraries Option
The --generateConfig
action now supports the --sharedLibraries
option.
While generating config --sharedLibraries
can be set to a comma-separated list of shared
library paths used by an application.
Support
Bug and field support fixes were added to this release.