Introduction
At Safe Software, we work very hard to make sure FME is backward compatible between release versions. Forward compatibility, the ability to open and run a newer workspace in an older version of FME, is not guaranteed, though it may work sometimes.
A workspace created in FME Form (formerly FME Desktop) 2023 can be opened and run in FME Form 2024, but the reverse is not recommended or supported. Similarly, FME Flow (formerly FME Server) items can be migrated to newer FME Flow versions, but migration to older versions is not supported.
Backward Compatibility - the ability to function with earlier product versions - Supported
Forward Compatibility - the ability to function with later product versions - Unsupported
The FME version numbers used here are examples and our compatibility guidelines apply to all FME versions. Depending on certain bug fixes, upgrades, and library changes, backward compatibility is not guaranteed to work 100% of the time. Always test workspaces in newer versions of FME before running them in a production environment.
Backward Compatibility
In theory, FME is backward compatible within each FME product and within our 3-year support policy guidelines. Therefore, you can:
- open an older workspace in a newer version of FME Form and it will work
- take a back-up of FME Flow and restore it to any newer FME Flow instance and it will work
In practice, FME is backward compatible many releases apart, but there are limits to this. In some cases, we may have had to fix something that was broken in a previous release and the ‘fix’ may create different (hopefully better) results than the old version. Incompatibility between FME versions often happens because of updates to the libraries and APIs that FME uses, or due to security reasons. This inevitably results in significant changes to the formats, systems, and services supported by FME.
When upgrading FME versions, we recommend testing workflows before putting them into production. You can check the FME Change Log and FME Deprecations for any updates to the functionality you rely on.
For this reason (and others), when you open, edit, and save an older workspace in a newer FME Workbench version, you may be given an opportunity to save a backup copy in the older version.
Remember, you can have multiple versions of FME Form installed on the same machine just by using a different installation folder for each one. You can keep your production version of FME working while also testing the latest version released. See Installing Multiple Versions of FME Form for more information.
Backward compatibility does not apply to publishing from FME Form to FME Flow. This refers to compatibility between products, and the same major versions of FME Form and FME Flow should be used when publishing.
Forward Compatibility
Generally, FME Form and FME Flow are not forward compatible. Therefore, a workspace created in FME 2024 is unlikely to work in FME 2022. This is important to take into account when you are creating workspaces for a client, for example, to use on their own FME installation.
If FME Form is upgraded to the latest version but FME Flow has not been upgraded, there is a risk that newly created workspaces will not run successfully when published to FME Flow on an older version. FME will warn you if you try to open a newer workspace in an older FME version or attempt to publish to an older version of FME Flow.
We always recommend using the same versions of FME Form and FME Flow. Remember, you can keep different versions of FME Form installed on one machine. So, you can install the latest FME Form and keep an older FME Form for publishing workspaces in production to FME Flow.
Compatibility and Version Numbers
FME version numbers use the syntax 20xx.a.b.c. For example, FME 2024.0.2.1.
20xx | New Version Year |
a | Major Update |
b | Minor Update |
c | Patch/Hotfix Update |
- 20xx: A new version of FME means that functionality has changed significantly. Though we strive to maintain backward compatibility, major updates and deprecations can impact this - see FME Change Log and FME Deprecations. While forward compatibility may be possible, it is not recommended between version changes. For example, a workspace from FME 2023.0 can be opened and should work in FME 2024.0, but is unlikely to work in FME 2022.0.
- a: A major update of FME, which occurs once or twice a year. Again, we strive to maintain backward compatibility but may be unavoidably compromised with required updates to formats and transformers. Forward compatibility is unlikely, but may be possible. For example, a workspace from 2024.1 may not work in 2024.0 if a major update occurs to a format or transformer in the workspace.
- b: A minor update of FME, which occurs once or twice between each major update release. These releases usually only consist of non-urgent bug fixes. Backward compatibility should be maintained and it is also unlikely that forward compatibility will be affected between minor versions. For example, 2024.1.1 is likely to work in 2024.1.0 with only some exceptions.
- c: A patch update of FME, which is usually an emergency hotfix and we strive to have as few of these as possible. If a patch update is released, backward compatibility should not be affected, and it is unlikely forward compatibility will be compromised as well. For example, 2024.1.1.2 should also work in 2024.1.1.1.
FME Form Compatibility
Transformer Updates and Versions
New Transformers
The use of a newly released transformer immediately renders a workspace incompatible with previous versions. For example, a 2023.1 workspace with the YAMLtoJSONConverter transformer will definitely not work in 2022.2 because that transformer did not exist. You can most likely still open the workspace, but the transformer will be missing.
Updates without New Version
If the core processes for a transformer change, then it’s likely the workspace will still be backward and forward compatible and be opened and run in either version. However, it may produce slightly different results depending on the update that was made. Generally, this scenario would occur for a bug fix so the results from the older FME version may be incorrect while the results from the newer version will be correct but different. Because of this possibility, we recommend testing workspaces when upgrading to a newer FME version.
Updates with New Version
If the parameters for a transformer change, it’s likely the transformer will be assigned a new version number. Backward compatibility will be preserved as opening an older workspace in a newer version does not automatically apply transformer updates, which you can perform with the Upgrade Transformers tool. Adding a newer transformer version, or a completely new transformer, renders a workspace forward incompatible with prior versions as the transformer won’t exist. If new transformer versions are not applied using the Upgrade Transformers tool, workspaces may become out-of-date across many versions and begin to cause problems. We recommend Updating Transformers with each upgrade to a newer FME version.
New Default Values
If the default value of a parameter changes, backward compatibility is assured because opening an older workspace in a newer version of FME does not automatically change the defaults or previously set parameter values. For example, a parameter that used to default to ‘no’ will not automatically change to ‘yes’ even if the new default value is ‘yes’. This change will not affect forward compatibility either, but the newer default will be applied, such as the default of ‘yes’ will remain although the older default was ‘no’.
Updating Transformers
When opening an older workspace in a newer version of FME, any transformers that have undergone a version update will appear in the Navigator pane under Upgradable Transformers. It shows the transformers that have upgrades available, [the version differences], and (how many transformers of that type exist in the workspace).
To upgrade transformers individually, click the arrow next to the transformer name to expand it, and then right-click the specific transformer and select Upgrade Transformer.
In FME 2024, you can also Upgrade All Transformers by right-clicking Upgradable Transformers, or upgrade all transformers of a specific type by right-clicking the transformer type.
In the Upgrade dialog, FME will show you the differences between the two transformer versions, so you can confirm the desired parameters. To proceed with the upgrade, click OK. For more information on what was changed, select Show Changes.
The Show Changes dialog will outline all of the changes that occurred between the two versions.
For some transformers that have undergone drastic changes, or have had parameters removed, a warning will appear prior to the Upgrade dialog, outlining the major changes.
Readers and Writers
Readers and writers are not versioned in FME, so changes in behavior are automatically included when the workbench is opened in the new FME version. However, new reader and writer parameters will not be visible and use a default setting to avoid changing the old reader and writer behavior. To make the new parameters visible, you’ll need to Update the Reader or Writer.
If significant changes are made to a reader or writer, a completely new reader or writer may be created, In this case, the format short name is changed to distinguish the old and new reader and writer. For example, with the OGC GeoPackage format, an old workspace opened in a newer version has the short name GEOPACKAGE. If you add a new GeoPackage reader in the new version, the short name will be OGCGEOPACKAGE and it has the new reader characteristics and parameters.
FME Flow Compatibility
Projects
Projects are often used to move workflows between different FME Flow instances, and function similar to the Backup and Restore process of upgrading. We try our best to be backward compatible, meaning projects can be imported to an FME Flow that is either the same or higher build number as the FME Flow the project was exported from. This means that moving projects from FME 2023 to 2024 is okay, but the reverse is not. This also applies down to the minor version or build number, where we cannot ensure compatibility is maintained when moving a project from 2023.2.4 build 23785 to 2023.2.3 build 23783, but the reversed action moving to a newer version should be okay. The limitation to backward compatibility aligns with our support policy of 3 years. For example, we attempt to maintain backward compatibility between 2021 and 2024, but may suggest using an intermediate build like 2022 when attempting to move projects from 2020 to 2024 if issues are being encountered.
Although we aim to be backward compatible, sometimes there are uncommon scenarios we don’t anticipate and an issue arises. For this reason, we always recommend testing workflows entirely before placing them in a production environment.
Upgrading and Migration
Upgrading FME Flow involves taking a back-up of the older FME Flow version and restoring it to a newer version. Again, we try our best to be backward compatible, meaning we support migrating to newer versions of FME Flow within our support policy of 3 years. If you are upgrading and migrating to a newer version that is greater than 3 years newer, it may be necessary to use an intermediate build, such as FME Flow 2022 when attempting to migrate from FME 2020 to 2024. Like projects, forward incompatibility applies down to the minor version or build number, where migrating from 2023.2.4 build 23785 to 2023.2.3 build 23783 would technically not be supported.
In certain unexpected scenarios, you may want to downgrade FME Flow. This is unsupported and technically not compatible, but in certain situations we will try our best to support the migration. An example is an upgrade from FME Flow 2022 to 2025 resulted in some issues with compatibility and you wish to upgrade to FME 2024 instead. The best course of action would be to restore the 2022 backup to 2024, rather than taking a backup of the 2025 FME Flow and restoring it to 2024.
Although we aim to be backward compatible, sometimes there are uncommon scenarios we don’t anticipate and an issue arises. For this reason, we always recommend testing workflows entirely before placing them in a production environment.
Publishing from FME Form to FME Flow
Compatibility between FME Form and FME Flow when publishing workspaces is slightly different than compatibility within FME products. For best results, FME Form and FME Flow should match in versions when publishing. However, publishing is supported if the year and major version match and the version of FME Form is the same or older than FME Flow. For example, publishing from FME Form 2024.1.1 to FME Flow 2024.1.2 is supported, but publishing from FME Form 2024.1.3 to FME Flow 2024.1.2 is not supported. See our documentation on Publishing to FME Flow for more examples on FME Form and Flow publishing compatibility.
FME Hub and Packages
FME will automatically install the latest version of an available custom transformer or package from the FME Hub. This may cause incompatibility with older versions of FME. Older versions of custom transformers and packages can be manually downloaded directly from their FME Hub page and installed to be used with an older version of FME. To do this on the specific FME Hub page, click the drop-down arrow next to the version number, select the desired version, and then select Download.
Operating System Compatibility
Workspaces generated with FME on any supported operating system are compatible between other supported operating systems (Windows, Linux, macOS). However, some formats are not supported on particular operating systems. Please consult the FME Integrations Matrix for more information on supported formats on a particular operating system.
Note that very large 64-bit workspaces may exceed the per-process RAM limit of 32-bit FME. 32-bit FME has been deprecated and is no longer available. See FME 32-bit Windows Support for more information.
Beta Builds and Releases
Functionality in beta builds of FME may be changed or removed without notice in the course of development and testing. Workspaces created using a beta build may therefore be incompatible with the release build of that version.
The earlier in the development cycle, the more likely it is that beta build functionality will change. At the other end of the spectrum, "release candidate" beta builds are close to the final product and unlikely to have any further major updates. See FME Beta Usage | Beta FAQ for more information.
Troubleshooting Backward Compatibility
- Upgrade all transformers, readers, and writers in the workspace on FME Form
- Delete and re-add all the readers and writers in the workspace
- Download and re-publish the workspace to FME Flow from the same version in FME Form
- Submit a case with our support team
- When migrating between different versions, check that you have the same:
- Level of licensing
- Installed plugins
- FME options
- Environment variables
Comments
0 comments
Please sign in to leave a comment.