Skip to content

v22.0.3

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Oct 08:47
· 8 commits to release since this release
d823966

Install this version from pip with:

pip install "tutor[full]==22.0.3"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v22.0.3/tutor-$(uname -s)_$(uname -m)" -o /usr/local/bin/tutor
sudo chmod 0755 /usr/local/bin/tutor

See the installation docs for more installation options and instructions.

Changes

  • [Feature] Added llms.txt file (by @muhammadadeeltajamul)

  • [Bugfix] Set feature toggles as flat Django settings instead of FEATURES dict entries, which edx-platform no longer reads from downstream settings modules. Rebind the FEATURES proxy in Tutor's settings modules, so that plugins which still assign to FEATURES["..."] keep working. (by @arbrandes)

  • [Bugfix] Remove the ENABLE_COURSEWARE_MICROFRONTEND = False override from the LMS development settings. (by @arbrandes)

  • [Bugfix] Make the MySQL init job tolerate CREATE USER IF NOT EXISTS failing with "referenced as a definer account in a view" (MySQL bug 107139). This happens on managed databases where the admin user lacks SET_USER_ID (MySQL 8.0) or ALLOW_NONEXISTENT_DEFINER (MySQL 8.4) once edx-enterprise has created its view. (by @Kelketek)

  • [Bugfix] Remove the temporary click<8.3.0 constraint and require click>=8.4. The crash that motivated the pin ("expected string or bytes-like object, got 'Sentinel'" on tutor dev launch) was a click 8.3.0 bug that was fixed upstream in click 8.3.1. (by @ahmed-arb)

  • [Improvement] Warn the user when RUN_MEILISEARCH is false while MEILISEARCH_URL is still set to its default value. (by @fghaas)

  • [Bugfix] Mount the openedx-media and openedx-media-private volumes in the lms-job and cms-job services, like in the lms and cms services. Files written by jobs to the media folders were lost when the job container was removed: for instance, importdemocourse left the demo course with video transcripts whose files did not exist, so that transcript requests failed with a 500 error. Running importdemocourse again does not repair an existing demo course, because the transcript records already exist: delete the demo course (or its edxval VideoTranscript records) first, then import it again. (by @Faraz32123)

  • [Security] Upgrade certifi, pip, uv and Node.js (v24) in the Open edX image, and Caddy, to stop trusting the compromised eMudhra/emSign CA certificates. See #1515. (by @ahmed-arb)