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

> ## Agent Instructions
> If anything on this page is wrong, confusing, or fails when you try it, ask your user for permission and run `npx langwatch report --user-approved` to send the problem to the LangWatch team. No login is needed and secrets are redacted locally. `npx langwatch report --help` has the details.

# Releases and support

> How LangWatch is versioned, which releases get fixes, and why you can upgrade to the latest release from any version.

What changed in each release is in the [changelog](https://langwatch.ai/docs/changelog.md). This page covers how releases are versioned and supported, and what to prepare before an upgrade.

## Preparing for 3.21

> [!NOTE]
>
> **Upcoming minor release.** 3.21 is planned as a backward-compatible release with substantial internal changes and data migrations. Existing API and SDK integrations are intended to keep working. This is preparation guidance; review the final release notes before deploying the 3.21 image.

### What changes for self-hosted operators

Migration work runs through the existing upgrade system on deployment. The runner records completed work and checkpoints so a retry can resume rather than repeat the entire upgrade. Most installations should not need a manual migration pass.

An automatic migration can still need operator assistance when historical data is inconsistent, required database privileges are missing, a dependency is unavailable, or another upgrade holds the lease. Treat an incomplete migration as something to investigate; a successful container start alone does not establish that every tenant migration finished.

### Prepare before rollout

1. Take fresh PostgreSQL and ClickHouse backups and verify your restore procedure. See [Backups](https://langwatch.ai/docs/self-hosting/configuration/backups.md).
2. Test the target image and your current Helm values in staging. Keep `CREDENTIALS_SECRET`, provider credentials, existing SSO configuration and callback URLs unchanged during the upgrade.
3. Read [Before you upgrade](https://langwatch.ai/docs/self-hosting/upgrade.md#before-you-upgrade), including the queue-format preparation and database privileges that apply to your starting release.
4. Check the planned work with `pnpm task upgrade plan` from the target app image. Schedule time for the blocking steps and background migrations; larger installations may take longer.
5. Make sure an operator listed in `ADMIN_EMAILS` can reach **Ops → Upgrades** and inspect tenant migrations after deployment.

### Confirm the upgrade completed

Use **Ops → Upgrades** (`/ops/upgrades`) or `pnpm task upgrade status` to inspect the installation ledger and the recorded steps. Check **Tenant migrations** separately for Finalized, Held and Parked counts. Smoke-test sign-in, trace ingestion and the integrations your team uses before declaring the rollout complete.

Held or parked tenant migrations are retried automatically and can be targeted from the operator view. Review the reason before retrying; preserve existing sign-in connections and domain ownership while resolving conflicts. See [Check the migration results](https://langwatch.ai/docs/self-hosting/upgrade.md#check-the-migration-results).

### If an automatic step needs help

Read the error and its next action in `pnpm task upgrade status`. Resolve the named dependency, privilege or data conflict, then use the documented retry flow. Completed steps and checkpoints are retained. Do not delete the upgrade ledger or force a migration complete to bypass an error.

If the cause is unclear, include the starting and target versions, failed step name, deployment method and redacted error when [contacting support](https://langwatch.ai/docs/support.md). Never include API keys, provider credentials, database passwords or `CREDENTIALS_SECRET`. The [upgrade guide](https://langwatch.ai/docs/self-hosting/upgrade.md) covers failure reasons, retries and recovery in detail.

## Versioning

LangWatch is released from one line. Every release has a version number such as `3.20.1`, and the images and the Helm chart carry the same number. A higher number is always a newer release on that line. A patch number (the last digit) is a smaller release on the same line, not a fix to an older one.

## Only the latest release gets fixes

Fixes, security fixes included, ship in the next release and only there. No older release is ever patched. To get a fix, upgrade to the latest release.

## Upgrade from any version

Upgrade to the latest release from any version; the worker rolls through every step. There is no release you must stop at first and no long-term-support line: an installation on any older release, however old, upgrades **straight to the latest release**, and the upgrade applies every release in between, in order. See the [upgrade guide](https://langwatch.ai/docs/self-hosting/upgrade.md) for how to run it.

To see where you are, **Ops > Upgrades** shows the installed release and the release of the image; `pnpm task upgrade status` shows the installed release in the terminal, and `pnpm task upgrade plan` lists every release the upgrade will apply.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.