Migrating from 6.3.1 to 6.3.2

Backup database and files

BACKUP. YOUR. DATABASE. AND. FILES.

Warning

This is a fairly large update which should probably have been a minor release instead of a patch release.

What’s new?

  • Removed old delivery models which has not been in use for a long time.

  • Remove old gradingsystem plugin apps that are no longer in use, and have not been used for a long time.

  • Dependency cleanup and updates.
    • dj-static has been replaced by whitenoise.

    • RQ and related dependencies has been updated to newer versions that are redis 5+ compatible.

  • Separate optional dependencies specifier for s3 storage (see requirements.txt changes section below).

  • First class S3 compatible storage support with setup examples and local development environment.

  • Various fixes related to using blob storage and memory usage, including settings cleanup, blob storage based zip file creation with stable memory usage.

  • Switch from ZIP to .tar.gz format for feedbackset downloads.

Settings changes

Removed settings

  • DEVILRY_FSHIERDELIVERYSTORE_ROOT

  • DEVILRY_DELIVERY_STORE_BACKEND

  • DEVILRY_FSHIERDELIVERYSTORE_INTERVAL

Changed settings

MIDDLEWARE:

The MIDDLEWARE setting now includes:

  • whitenoise.middleware.WhiteNoiseMiddleware

  • django.middleware.security.SecurityMiddleware

If you have added them in your own settings file, remove them.

Remove from INSTALLED_APPS (if you have them):

  • devilry.devilry_import_v2database

  • devilry.devilry_gradingsystem

  • devilry.devilry_gradingsystemplugin_points

  • devilry.devilry_gradingsystemplugin_approved

DATABASES:

We have changed the postgres database binding from psycopg2 to psycopg. This requires the following change to the ENGINE option within the DATABASES setting:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        # ...
    }
}

requirements.txt changes

You need to change:

devilry==VERSION

to:

devilry[s3storage]==VERSION

in your requirements.txt IF you want to use s3 compatible storage. This will add S3 storage dependencies locked to known working versions (django-storages and boto3)

Update devilry to 6.3.2

Update the devilry version to 6.3.2 as described in Update Devilry.