SpecSync Documentation
Getting StartedConfigurationGuidesDownloads
Azure DevOps
Azure DevOps
  • Introduction to SpecSync for Azure DevOps
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Add new Test Cases to an Area or an Iteration
      • Mark Test Cases as Automated
      • Setting Test Case state on change
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Reset Test Case state after change
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Add Test Cases to Suites
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies using Test Suites
      • Include synchronized Test Cases to a Test Suite (deprecated)
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
      • Re-link scenarios to new Test Cases
    • Test result publishing features
      • Publishing test result files
      • Support for Azure DevOps Test Plan / Test Suite based test execution
      • Customization: Publishing test results to multiple Test Suites
    • General features
      • Azure DevOps authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Azure DevOps project URL?
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to synchronize automated test cases
    • How to use SpecSync from build or release pipeline
    • How to publish test results from pipelines using the VSTest task
    • How to use the SpecSync Azure DevOps pipeline tasks
    • How to link GitHub pull requests
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with SpecFlow+
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • How to handle Test Cases of multiple parallel application releases
    • Migrating from SpecSync v3 to v5
    • Migrating from SpecSync v2 to v3
    • Migrating from SpecSync v1 to v2
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • re-link
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • knownRemotes
      • synchronization
        • push
        • pull
        • automation
        • state
        • areaPath
        • iterationPath
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • reqnroll
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page
  • Step 1: Verify compatibility
  • Step 2: Review and choose tool invocation option
  • Step 3: Review deprecated configuration settings and command line options

Was this helpful?

  1. Guides

Migrating from SpecSync v2 to v3

PreviousMigrating from SpecSync v3 to v5NextMigrating from SpecSync v1 to v2

Last updated 3 years ago

Was this helpful?

The licensing model of SpecSync allows you to use any versions, so it is recommended to always upgrade to the latest version.

SpecSync for Azure DevOps v3.0 has introduced a couple of useful improvements but the features and the configuration is highly backwards compatible with the v2 releases, therefore the migration process is usually simple.

The new version uses a newer Azure DevOps API and it also supports .NET Core. Because of the platform improvements the invocation of the synchronization tool has been changed.

You can find a complete list of improvements in the .

To perform the version upgrade, please follow the steps below.

Step 1: Verify compatibility

Team Foundation Server 2015 is not supported by SpecSync v3 because of the newer Azure DevOps API it uses. In case you need to synchronize scenarios with Team Foundation Server 2015 you cannot upgrade to v3.

The minimum required .NET Framework has been changed to .NET Framework v4.6.2 instead of v4.5. Please verify if the .NET Framework version on the machines where the synchronization tool has to be invoked is at least v4.6.2. SpecSync v3 introduced invocation options that do not require .NET Framework to be installed at all (see ), so you can use SpecSync even if this criteria is not met.

SpecFlow+ Excel support has been removed.

Linux Mono support has been removed, but there are alternative invocation options for using SpecSync v3 on Linux or macOS (see Step 2).

Step 2: Review and choose tool invocation option

SpecSync can be invoked as a .NET Framework console application as before, but with v3 there are other options as well. You can run is as a .NET Core tool, as native binary or through Docker. The page contains a detailed overview of the different options.

As the default option (the option provided by the main SpecSync.AzureDevOps NuGet package) has been changed to invoking SpecSync as a .NET Core tool, so if you would like to use SpecSync as a .NET Console App, like in SpecSync v2.1, you need to use the SpecSync.AzureDevOps.Console NuGet package instead of SpecSync.AzureDevOps.

The SpecSync.AzureDevOps.Console package works exactly the same way as the SpecSync.AzureDevOpspackage was working in v2.1: there is a .NET executable SpecSync4AzureDevOps.exe in the tools folder of the package. You can find more information about this option in the page.

You can upgrade to v3 and keep the .NET Console App execution and change to another invocation option later.

Step 3: Review deprecated configuration settings and command line options

There a few rarely used configuration settings and command line options that has been deprecated or renamed in SpecSync v3. Please review the table below and perform the changes if necessary.

Deprecated setting/option
Change it to

--buildServerMode command line option has been renamed

Use --disableLocalChanges instead. The old option can be used still, but it is going to be fully removed in one of the next versions.

synchronization/enableLocalChanges configuration setting has been changed

Use synchronization/disableLocalChanges instead

synchronization/forceUpdate configuration setting has been removed

Use --force command line option instead

specFlow / useLegacyFeatureFileGenerator configuration setting has been removed

The default (Deveroom-based) feature file generator supports all known cases. Please if there are problems with it.

contact support
Installation & Setup
Installation & Setup
Install as .NET Console App
Changelog