Skip to main content
This guide will walk you through upgrading your Sourcebot deployment from v4 to v5.

Breaking Changes

Ask Sourcebot & MCP Server relicensing

Who’s affected: Users on the free plan.

Description

Starting in v5, the following features have been relicensed from FSL to our commercial license, requiring a paid plan to use: If your deployment uses these features and you upgrade to v5, you’ll need to activate a paid plan to keep using them.

Action Items

You can start a 14-day free trial of the paid plan directly from your deployment. No credit card is required. See the pricing page for more details. Alternatively, you can choose to stay on v4.

User role management relicensing

Who’s affected: Users on the free plan.

Description

Managing user roles now requires a paid plan. On the free plan, the default role assigned to new members joining an organization is now Owner (previously this was Member). The role assignment behaviour for users joining the organization, and the ability to manage the user’s role afterwards, is now the following:
PlanDefault roleRole management
FreeOwnerNot available. A user’s role cannot be changed.
PaidMemberAvailable. Owners can promote or demote members.
This does not affect existing users in the organization. Users with the Member role will continue to have this role. This change only affects new members added to the organization.

Action Items

You can start a 14-day free trial of the paid plan directly from your deployment. No credit card is required. See the pricing page for more details. Alternatively, you can choose to stay on v4.

External Postgres and Redis instances are now required

Who’s affected: Deployments that relied on the embedded Postgres and Redis packaged in the Docker container. Docker Compose and Helm chart deployments are not affected, since both already provide their own Postgres and Redis.

Description

In v4 and earlier, the Sourcebot image shipped with a built-in Postgres database and Redis instance that started automatically when DATABASE_URL and REDIS_URL were not set. Starting in v5, these embedded services have been removed. You must now provide your own Postgres and Redis instances and point Sourcebot at them using the DATABASE_URL and REDIS_URL environment variables. If either variable is missing, the container exits at startup with an error. You need to stand up your own Postgres and Redis instances and set both variables. The simplest path is to switch to the Docker Compose or Helm chart deployment, both of which wire these up for you.

Action Items

AUTH_SECRET and SOURCEBOT_ENCRYPTION_KEY must be set explicitly

Who’s affected: Deployments that relied on Sourcebot auto-generating these secrets (i.e. those that never set AUTH_SECRET or SOURCEBOT_ENCRYPTION_KEY). Docker Compose and Helm chart deployments that already set both are not affected.

Description

In v4 and earlier, when AUTH_SECRET or SOURCEBOT_ENCRYPTION_KEY was not set, Sourcebot generated one at startup and persisted it in plain text under $DATA_CACHE_DIR (.authjs-secret and .secret). Starting in v5, these secrets must be provided explicitly as environment variables. Sourcebot no longer generates them, and no longer reads the plaintext files. If either is missing, the container exits at startup with an error.
Set SOURCEBOT_ENCRYPTION_KEY to the same value your deployment was using. It encrypts sensitive data at rest, so a different key leaves that data undecryptable and breaks the features that depend on it. A changed AUTH_SECRET is less severe: it only signs out existing sessions.

Action Items

Upgrading

Before upgrading, review the Breaking Changes section and complete any actions that apply to your deployment.

Docker Compose

  1. Pull the latest image
docker compose pull
  1. Restart your deployment
docker compose up -d

Helm chart

  1. Refresh the chart repository
helm repo update
  1. Upgrade the release
helm upgrade sourcebot sourcebot/sourcebot \
  -f values.yaml \
  --set-json "sourcebot.config=$(cat config.json)"

Staying on v4

If you’d rather not upgrade to v5, you can keep using v4 indefinitely by pinning your deployment to the final v4 release:
ghcr.io/sourcebot-dev/sourcebot:v4.17.4

Troubleshooting

Having troubles migrating from v4 to v5? Reach out to us on GitHub and we’ll try our best to help.