Skip to content

Releases: codalab/codabench

v1.25

31 Mar 13:14
331e85f

Choose a tag to compare

Upgrade instructions

It is required to re-build the containers:

docker compose build --no-cache
docker compose up -d

Compute Worker changes

If you have your own compute worker, you will need to update the worker to use the latest image otherwise they will not work.

Procedure: https://docs.codabench.org/latest/Organizers/Running_a_benchmark/Compute-Worker-Management---Setup/#update-docker-image

Release notes

New Features

Improvements

Bug Fix

Security

Documentation

v1.24

10 Mar 14:39
62b37a0

Choose a tag to compare

Upgrade instructions

Rabbit (#2061)

We also need to log into the RabbitMQ interface and enable the flags it wants us to enable after upgrading.

RabbitMQ port, username and password to access the interface are defined in the .env file.

Capture d’écran 2026-02-25 à 12 50 32

More information about feature flags here

Database (Postgres 12 -> 18) (#2091)

1. Maintenance mode on to avoid update on the database during the upgrade:

touch maintenance_mode/maintenance.on
git pull

2. Create the new postgres.conf file from the sample:

cp my-postgres_sample.conf my-postgres.conf

3. Rebuild docker containers to take into account the new images:

docker compose build --no-cache

4. Dump the database, remove it and reload it on the new configuration:

# Dump database
docker compose exec db bash -lc 'PGPASSWORD="$DB_PASSWORD" pg_dump -Fc -U "$DB_USERNAME" -d "$DB_NAME" -f /app/backups/upgrade-1.24.dump'
# Check that dump file is not empty
docker compose exec db bash -lc 'ls -lh /app/backups/upgrade-1.24.dump && pg_restore -l /app/backups/upgrade-1.24.dump | head'

/!\ Dangerous operation here: confirm that your dump worked before removing the database!

# Remove database
sudo rm -rf var/postgres
# Launch the new containers (containing the updated databse image and Restore from backup)
docker compose up -d db
docker compose exec db bash -lc 'PGPASSWORD="$DB_PASSWORD" pg_restore --verbose --clean --no-acl --no-owner -h $DB_HOST -U "$DB_USERNAME" -d "$DB_NAME" /app/backups/upgrade-1.24.dump'

See this for more details.

5 Restart the rest of the services and disable maintenance mode:

docker compose up -d
rm maintenance_mode/maintenance.on

Release notes

Improvements

Documentation

v1.23

10 Feb 13:49
23349a8

Choose a tag to compare

Manual Interventions

Django

The Django version upgrade will require all the containers to be rebuilt:

docker compose build --no-cache
docker compose up -d

Afterward, you will need to run some migrations:

docker compose exec django python manage.py migrate

If it asks you to do a makemigration instead, you will have to run the following command:

docker compose exec django python manage.py makemigrations --merge

You might need to modify /app/src/apps/datasets/migrations/0014_merge_20251212_0942.py to remove the datagroup changes

# Generated by Django 4.2.23 on 2025-09-08 12:32

from django.db import migrations, models
import utils.data
import utils.storage


class Migration(migrations.Migration):

        dependencies = [
            ("datasets", "0010_auto_20250218_1100"),
        ]

        operations = [
            migrations.AlterField(
                model_name="data",
                name="data_file",
                field=models.FileField(
                    blank=True,
                    null=True,
                    storage=utils.storage.PrivateStorageClass(),
                    upload_to=utils.data.PathWrapper("dataset"),
                ),
            ),
            migrations.AlterField(
                model_name="data",
                name="id",
                field=models.BigAutoField(
                    auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                ),
            ),
        ]

Notice that there are only two migrations in this file instead of 3. Simply delete the last one (it tries to change datagroups even after datagroups was deleted, which is why it fails)


Release notes

Improvements

Documentation

v1.22

27 Jan 14:40
162ef1e

Choose a tag to compare

Manual Interventions

Main Instance

Some of the changes will require a migration and collectstatic commands to be run:

docker compose build && docker compose up -d
docker compose exec django python manage.py migrate
docker compose exec django python manage.py collectstatic --no-input

There is a new environment variable for the contact email:

CONTACT_EMAIL=info@codabench.org

Make sure to add it to your .env file before launching the containers

Compute Workers

Major compute workers changes will require updating the Compute Worker images for both Docker and Podman. Podman workers will also need Podman 5.4 minimum to work on the host

New Features (Participants, Organizers, Hosters)

Improvements

Bug fix

Documentation

v1.21.1

08 Dec 15:59
36e2f0f

Choose a tag to compare

1.21.0

14 Oct 13:21
d26ef68

Choose a tag to compare

Manual Intervention

1. MinIO migration (depending on setup) (#1964)

If you are running MinIO locally (defined by .env and docker-compose.yml, you may require to follow the following MinIO upgrade instructions, to duplicate and mirror your buckets and convert them to the new format:
https://docs.min.io/community/minio-object-store/operations/deployments/baremetal-migrate-fs-gateway.html

2. Rebuild all containers (#2025)

docker compose build && docker compose up -d

3. Django migration (#1955)

docker compose exec django ./manage.py migrate

4. Collect static files (#1982)

docker compose exec django ./manage.py collectstatic --no-input

5.Compute Workers

We have updated the compute worker codes. If you have deployed your own workers, you will need to update your images to either :latest or :cpu1.3

New Features

Bug Fixes

Changes

Full Changelog: 1.20.0...v1.21.0

1.20.0

08 Aug 07:59
e6b85e8

Choose a tag to compare

Manual Intervention needed if upgrading

Codabench Instance

If you are upgrading from a previous version, you will need to run the following commands:

docker compose build && docker compose up -d
docker compose exec django ./manage.py makemigrations
docker compose exec django ./manage.py migrate
docker compose exec django ./manage.py collectstatic --noinput

Compute workers

If you have your own compute workers, you will also need to update them. You can simply do a docker compose pull && docker compose up -d if you are still using the latest tag inside the docker-compose.yml. Otherwise, change the tag to latest then run the previous command.

New Features

Changes

Bug Fixes

Full Changelog: 1.19.0...1.20.0

1.19.0

15 May 17:08
97f45eb

Choose a tag to compare

Manual Intervention needed if upgrading

You will need to launch a migration with the following command after upgrading:

docker compose exec django ./manage.py migrate

New Features

Bug Fixes

Full Changelog: 1.18.0...1.19.0

1.18.0

09 Apr 13:23
5ab466e

Choose a tag to compare

1.17.0

10 Feb 17:33
8d6f740

Choose a tag to compare