Migrating from SpecSync v1 to v5
The licensing model of SpecSync allows you to use any versions, so it is recommended to always upgrade to the latest version.
SpecSync changed to use semantic versioning from v5 on. This means that the changes that earlier were minor version changes (e.g. v3.3 to v3.4) are now represented with major version changes. The version that follows v3.4 was earlier planned as v3.5 (or v1.4 in case of SpecSync for Jira) but promoted now to v5.
SpecSync for Azure DevOps v5 has introduced a couple of useful improvements but the features and the configuration is highly backwards compatible with the v3 releases, therefore the migration process is usually simple.
You can find a complete list of improvements in the Changelog.
To perform the version upgrade, please follow the steps below.
Step 1: Verify compatibility
Some older .NET versions are not supported anymore. Please note that the .NET version requirement is only about the .NET SDK installed in order to run SpecSync. The synchronize project can still target old .NET versions as well.
If you cannot install a compatible .NET version to your systems where SpecSync is executed, we recommend using the SpecSync binary installation or execute SpecSync from Docker image.
.NET versions not supported by v5 anymore:
.NET 3.1
.NET 5
Step 2: Review breaking changes
Besides the server versions or .NET frameworks that are not supported anymore, there are also a few minor breaking changes as well.
These are partially related to removing features that have been marked deprecated earlier. The features that have been deprecated always provide a warning, so if your SpecSync v3.4 commands currently execute without warnings, these will not impact your usage.
The remaining breaking changes do not impact the most of usages, but please review the complete list of breaking changes
Step 3: Upgrade SpecSync
Upgrade SpecSync to the latest v5 version. Please check the How to upgrade to a newer version of SpecSync guide for detailed steps.
Step 4: Perform SpecSync upgrade command
One of the new features of SpecSync v5 is the upgrade
command. This command can be used to invoke the upgrade wizard that automatically fixes changes in the configuration file (e.g. for renamed configuration settings) and also prompts for configuring additional new features or configuration options.
The upgrade
command only modifies the configuration file but it does not change anything in the Azure DevOps server. So you can perform the upgrade
command safely and review the changes in the configuration file manually before performing a synchronization.
You do not have to configure all optional feature with the upgrade
command in one step. You can of course configure these features also manually by modifying the configuration file, but you can also re-run the upgrade
command later to configure these.
Step 5: Review configuration changes and perform synchronization
Once the upgrade
command has been executed, you can review the changes of the configuration file.
If the changes look good, you can perform a synchronization with the push
command. It is recommended first to review the synchronization steps without actually changing the Azure DevOps server using the --dryRun
option.
If the result is good, you can do the final synchronization with the push
command.
Last updated
Was this helpful?