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

# Upgrading

Upgrading your Typesync version is an important step to ensure you benefit from the latest features, bug fixes, and improvements.

<Warning>
  Until we reach our v1 release, breaking changes may occur between minor versions (e.g. when upgrading from v0.6 to
  v0.7).
</Warning>

Here's how to manage upgrades smoothly:

<Steps titleSize="h2">
  <Step title="Review the changelog">
    Always review the
    [changelog](https://github.com/kafkas/typesync/blob/main/CHANGELOG.md) for
    new features and breaking changes before upgrading. This will help you anticipate and prepare for any necessary adjustments.
  </Step>

  <Step title="Update schema version in definition">
    Update the JSON schema version in each schema definition file. This is a cheap way to quickly check if your current definition would be compatible with a new Typesync CLI version.

    For example, if you're planning to upgrade to 0.6.3, update the schema URL to `https://schema.typesync.org/v0.6.json`. If you notice any syntax errors (marked in red in most IDEs) after this update, it's likely you'll need to make some adjustments post-upgrade.

    For more information, see [Autocomplete/Intellisense](schema/definition#autcomplete-intellisense).
  </Step>

  <Step title="Install the latest CLI">
    Install the latest version of the Typesync CLI.

    <CodeGroup>
      ```bash Global theme={null}
      npm install -g typesync-cli@latest
      ```

      ```bash Local theme={null}
      npm install typesync-cli@latest
      ```
    </CodeGroup>

    Run `typesync --version` to check the version you're currently on.
  </Step>

  <Step title="Run validation command">
    Validate your schema definition with the CLI. This will definitively confirm whether your current definition is compatible with the new CLI version.

    ```bash theme={null}
    typesync validate --definition <pathToDefinition>
    ```
  </Step>

  <Step title="Test generated output">
    Thoroughly test the generated type definitions. Ensure your application builds with the new definitions and consider implementing automated tests to verify runtime behavior.
  </Step>
</Steps>

If you encounter any issues or need further assistance while upgrading, please contact us on [Discord](https://discord.gg/Hb2HW98DvF).
