> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Software Upgrades

export const siteNameShortLower = "sync";

export const companyNameLower = "cdata";

export const companyName = "CData";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

This section describes the simple process of upgrading from an earlier release of {siteName}. For information about performing a fresh installation of {siteName}, see [Starting the Server](./installation-and-configuration/starting-the-server).

<Note>Upgrading to a new major version (for example, upgrading from {siteNameShort} 2024 to {siteNameShort} 2025) requires new product keys to license the application. You can request new keys from {companyName} Sales (sales@{companyNameLower}.com).</Note>

## Upgrading {siteName} 2025 to a Newer Build

{siteName} 2025 is shipped in a setup.exe file for Microsoft Windows and in a compressed {companyName}{siteNameShort}.tar.gz file for Linux. Follow the steps for your operating system to upgrade an existing installation of {siteNameShort} 2025 to a newer build.

### Microsoft Windows

1. Stop the {siteNameShort} server via Windows Services Manager.
2. Run setup.exe.
3. Point the installer to the location where {siteNameShort} is installed.
4. Restart the server as a service after the upgrade is completed.

### Linux

1. Stop the server in either of the following ways:
   * To stop the server as a service, submit this command:

     `sudo systemctl stop cdatasync`

   * To stop the service in-process, submit this command:

     `java -jar sync.jar -stop`

2. Unzip the sync.war file from the tar.gz archive and place it in the `/opt/sync/webapp/` directory. Unzipping the file in this location overwrites the old file.

3. (Optional) Unzip the sync.jar file from the tar.gz archive and place it in `/opt/sync/`. Unzipping the file in this location overwrites the old file.

4. Start the server in either of the following ways:
   * To start the server as a service, submit this command:

     `sudo systemctl start cdatasync`

   * To start the service in-process, submit this command:

     `java -jar sync.jar`

**Notes**

* No matter how you choose to deploy {siteNameShort}, the files and folders that are contained in *`ApplicationDirectory`* must be readable and writable by the user who runs the application. The `service.sh` script that is included with {siteNameShort} uses **cdatasync** as this user.
* If the application was previously run as a different user and you want to restore the necessary permissions for a **cdatasync** user to run the application, submit a command that is similar to the following:

  `sudo chown -R cdatasync:cdatasync /opt/sync`

## Upgrading from {siteName} 2020-2024

This section explains how to upgrade from {siteNameShort} 2020, 2021, 2022, 2023, or 2024 to {siteName} 2025.

### Cross-Platform Edition

{siteName} 2025 is shipped in a setup.exe file for Microsoft Windows and in a compressed {companyName}{siteNameShort}.tar.gz file for Linux. Follow the steps for your operating system to upgrade an existing installation of {siteNameShort} to {siteName} 2025.

#### Microsoft Windows

1. Stop the {siteNameShort} server via Windows Services Manager.
2. Run setup.exe.
3. Point the installer to the location where {siteNameShort} is installed.
4. Restart the server as a service after the upgrade is completed.

#### Linux

1. Stop the server in either of the following ways:
   * To stop the server as a service, submit this command:

     `sudo systemctl stop cdatasync`

   * To stop the service in-process, submit this command:

     `java -jar sync.jar -stop`

2. Extract the contents of {companyName}{siteNameShort}.tar.gz to `/opt/sync/`.

3. Submit the following upgrade command **only if you are upgrading from {siteName} 2021 or earlier**. Otherwise, continue to step 4.

   `sudo bash /opt/sync/upgrade.sh`

   **Optional:** You can specify the `-InstallDirectory` parameter if your previous installation uses a nondefault path.

4. Start the server in either of the following ways:
   * To start the server as a service, submit this command:

     `sudo systemctl start cdatasync`

   * To start the service in-process, submit this command:

     `java -jar sync.jar`

**Notes**

* No matter how you choose to deploy {siteNameShort}, the files and folders that are contained in *`ApplicationDirectory`* must be readable and writable by the user who runs the application. The `service.sh` script that is included with {siteNameShort} uses **cdatasync** as this user.
* If the application was previously run as a different user and you want to restore the necessary permissions for a **cdatasync** user to run the application, submit a command that is similar to the following:

  `sudo chown -R cdatasync:cdatasync /opt/sync`

### .NET

Starting with {siteNameShort} 2024, the .NET edition of the application is deprecated. As a result, you need to migrate your current .NET edition of {siteNameShort} to the Cross-Platform edition. Follow these steps to perform this migration:

1. If you use the default SQLite application database, you must export your settings and then re-import them when you start the Cross-Platform edition of {siteNameShort}. The Cross-Platform edition does not support SQLite as an application database. It uses the Apache Derby database, by default. You can export your settings from the **Migrations** tab on the **Settings** page in {siteNameShort}. Simply click **Export** to download all your jobs, connections, and {siteNameShort} settings into zipped CSV files.

   <Warning>If you use PostgreSQL, MySQL, or SQL Server as your application database, you do not need to export your settings. The Cross-Platform edition supports these three application databases, and it will update the system tables when you start the Cross-Platform edition for the first time. As a best practice, you should create a backup of the {siteNameShort} system tables by copying them into a different database or schema.</Warning>

2. (Optional) Rename the .NET application folder so that the new Cross-Platform edition will be installed in a separate folder.

3. Download and install the Cross-Platform edition from the {companyName} website. During installation, the new download should overwrite the {siteName} service definition.

   <Note><span>Before you start the server, you need to update the sync.properties file if you are using an external database. You can change the port, change the inactivity (session) timeout, and more in this file. For example, you can change the port by locating the following line in sync.properties and changing the default port (8181) to a port of your choice: <code style={{padding: "0"}}>cdata.http.port=8181</code></span></Note>

4. Start the {siteNameShort} application and install your license from the **License** tab on the **Settings** page.

5. Import the settings that you exported in step 1.

After you complete your installation, you can configure security features (such as [enabling SSL/TLS](./installation-and-configuration/configuring-the-server#enabling-ssl/tls) and LDAP authentication) or deploy {siteNameShort} to a web server such as [Microsoft Internet Information Services (IIS)](./installation-and-configuration/deploying-cdata-sync-to-external-servlets).

## Upgrading from {siteName} 2017-2019

The installer for {siteName} 2025 attempts to detect existing previous installations of {siteNameShort} and to import previous settings. These imported settings include the following:

* All jobs
* All connections
* Any external connectors
* All {siteNameShort} settings

## Upgrading Marketplace Instances

When you use marketplace instances of {siteNameShort}, {companyName} publishes updated instances following new product enhancements and product releases. You can migrate your {siteNameShort} configuration easily from the old instance to the new by following the steps listed earlier in [Migration Tab](./administration/settings-page/settings-page#migration-tab).
