Upgrade versions
This page lists breaking changes between versions of API Mesh for Adobe Developer App Builder. For a list of new features and resolved issues, refer to the release notes.
Software updates
If you are upgrading from a beta release to GA, you must update to nvm
18.x.x and update the mesh code.
Update
nvm
to version 18. The following command shows one way to do this:Copied to your clipboardnvm use 18Update the API Mesh plugin.
To update Adobe I/O and all registered plugins, run the following command:
Copied to your clipboardaio updateTo update the API Mesh plugin only, run the following command:
Copied to your clipboardaio plugins:install @adobe/aio-cli-plugin-api-mesh
If you encounter any issues installing the plugin, try uninstalling any existing plugins first by running aio plugins:uninstall
. The aio plugins
command will list any installed plugins.
See our NPM page or Getting Started for more information.
Upgrading to the June 1, 2023 release
This release introduces a breaking change for a narrow use case where prefixed Fastly headers are consumed for Adobe Commerce sources and any other source that contains "magento" in the URL. If you are currently consuming headers with the following format x-<source_name>-magento-cacheid
, you will need to remove the source name (x-magento-cacheid
) to reestablish any previously working processes.
Upgrading to the Feb 23, 2023 release
If your mesh has multiple sources with the same name, you will need to change them to unique names and then update your mesh.
Upgrading to the Jan 17, 2023 release
You must modify any previously created meshes to account for the following breaking changes when updating to the new release.
Deprecated experimental features
The beta release contained two experimental features that are not supported in the GA release.
- The Resolver Composition transform has been deprecated and is no longer supported.
- The Hook transform requires additional fixes and testing. We intend to re-enable this transform in a subsequent release.
Resolver Composition transform deprecated
The Resolver Composition transform (composeResolvers
) is no longer supported.
Remove any instances of composerResolvers
from your mesh before running a create or update command.
Hooks transform temporarily disabled
We have temporarily disabled the Hooks transform. Hooks will return in an upcoming release.
Remove any Hook
transforms from your mesh before running a create or update command.
Runtime headers
Runtime headers that use the following format are now deprecated:
Copied to your clipboardGGW-SH-<SourceName>-<HeaderName>
Instead, use the following methods:
Mesh create and update time
While most create and update commands will take a few seconds, complex meshes and meshes with several sources will take a few minutes to fully provision and propagate.
To check the status of your mesh, use the aio api-mesh:status
command, which allows you to view where your mesh is in the provisioning process.
Additionally, due to our new asynchronous architecture, the create/update commands now add your mesh to a queue where it waits to be processed, which means you will no longer receive an error if your mesh fails to create/update. We have added the aio api-mesh:status
command to allow you to check the processing status of your mesh and see any errors that occurred during creating/updating.
CORS formatting change
CORS headers now have the following format:
Copied to your clipboard"responseConfig": {"CORS": {...}}
Additionally, the preflightContinue
field is no longer needed and will cause an error if used. Refer to the CORS headers example for more information.
Update existing meshes
API Mesh now runs on updated versions of GraphQL Mesh handlers and transforms. To move to the new codebase and enable these upgrades, update your existing meshes.
Select the workspace that contains the mesh you want to update.
Retrieve your previously created mesh by running the following
get
command.Copied to your clipboardaio api-mesh:get download.jsonThis command creates a file named
download.json
that contains a copy of the mesh from the selected workspace.Run the update command and reference the previously created file.
Copied to your clipboardaio api-mesh:update download.jsonIt can take a few minutes to fully provision and propagate your mesh.