This is an update to the original post Developing in VS Code with a Milestone release.
⚠️ If you want to work with milestone 31 specifically, refer to the original post above, it is still valid for that exact version.
Starting with milestone 33 and with the upcoming release of LTS-14, we have simplified the versioning and setup to work with a milestone release in VS Code a bit so that you will have to configure less by hand.
The following instructions will be valid beyond the LTS-14 release and are also applicable to new major versions.
TL/DR
- Switch the VS Code extension version to a milestone release (e.g.
14.0.33)
- Set your VS Code setting
Release Train to milestone
- Update your projects
pom.xml parent to match the milestone version
Detailed setup to switch your development setup to a milestone release
When developing with the VS Code extension, there are four main components that can change:
- VS Code: Managed independently of Axon Ivy. We recommend using the latest stable release.
- Axon Ivy VS Code extension: We recommend using the latest version. If you encounter issues, you can easily revert to an earlier version using the VS Code command
Extensions: Install Specific Version of Extension....
- Axon Ivy Engine: Downloaded and started automatically by the extension. By default, it uses the latest nightly release, which changes daily and may introduce breaking changes.
- Axon Ivy Java API: (for example,
com.axonivy.ivy.api:ivy-api), by default, projects use the 14.0.0-SNAPSHOT version, which is also under active development and change frequently.
To align your development environment with a specific milestone release, fix versions in these two parts as described below:
- VS Code-Designer extension (which then automatically uses correct Axon Ivy engine version)
- Axon Ivy JavaApi
VS Code-Designer extension
Install the VS Code extension version that aligns with the milestone you like to use.
- Run the command:
Extensions: Install Specific Version of Extension....
- Select 'Axon Ivy Pro Designer 14'
- Pick the version that ends with your milestone number. E.g.
14.0.33 for milestone 33

- If prompted, select 'Restart Extensions'
- If not, run the command
Developer: Reload Window
This will restart the extension which is now in 'milestone' mode.
Upon start, the extension will make sure the correct milestone Axon Ivy engine is installed.
To do so, it will first check if there is a conflicting VS Code setting Release Train set to either "dev" or "nightly". If not, the setup should work.
If there are conflicting settings, the extension will complain and inform you about it:

This can happen if you have previously adjusted your Axon Ivy extension setting Release Train via the UI or in the settings.json file.
To make the milestone extension version work, you have two options:
- Remove all
Release Train setting from the Workspace and User settings. This makes sure any new VS Code workspace will work with your current 'milestone' extension version. The downside is that you loose your global User setting.
- Set only the Workspace setting
Release Train to milestone. This will overrule any User setting and will make sure your current workspace works with the 'milestone' extension version. The downside is that you will have to set this Workspace setting for each new VS Code workspace.
Change settings by running the command Preferences: Open Settings (UI), search for @ext:axonivy.vscode-designer-14, switch to the Workspace and/or User tab and set the Release Train to milestone or blank to remove it.

Then run the command Developer: Reload Window.
Now, the extension should download the correct milestone Axon Ivy engine version automatically if not yet present on your system and start with the correct Axon Ivy engine. You can verify the download upon extension startup:

Axon Ivy Java API
Update your project's pom.xml so that the parent version matches the milestone release of the engine. For Milestone 33, use version 14.0.0-m33:
<parent>
<groupId>com.axonivy.ivy.api</groupId>
<artifactId>ivy-project-parent</artifactId>
<version>14.0.0-m33-SNAPSHOT</version>
<relativePath></relativePath>
</parent>
After these changes, your project will use the same milestone version for both the engine and the Java API, ensuring they remain compatible.
You can update all projects at once with the 'mvn' CLI in your reactor-root, by firing this command:
qualified=14.0.0-m33-SNAPSHOT
mvn org.codehaus.mojo:versions-maven-plugin:2.21.0:update-parent \
-DparentVersion="${qualified}" \
-DskipResolution=true \
-DgenerateBackupPoms=false
Axon Ivy Engine Docker Image
Use the specific milestone tag of the Axon Ivy Engine image, if you want to deploy milestone-based projects on a running Axon Ivy Engine.
# use latest milestone
docker run -p 8080:8080 axonivy/axonivy-engine:milestone
# use specific milestone
docker run -p 8080:8080 axonivy/axonivy-engine:14.0.0-m33