Skip to content

Releases: overhangio/tutor

v18.2.0

03 Dec 17:10
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.2.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.2.0/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

  • [Bugfix] Do not directly upgrade MySQL from v5.7 to v8.4 when upgrading from quince as MySQL does not allow that. First, upgrade to v8.1 and then to v8.4. This process should be automatic for most users. However, if you are running a third-party MySQL (i.e., RUN_MYSQL=false), you are expected to perform this process yourself. Please refer to the third-party provider's documentation for detailed instructions. Ensuring that your MySQL version is up-to-date is crucial for maintaining compatibility and security. (by @Danyal-Faheem)
  • [Bugfix] Run MySQL 8.1 as a separate container during upgrade from Olive to Redwood as it crashed otherwise due to the --mysql-native-password option not being present. (by @Danyal-Faheem)
  • [Improvement] Do not prompt for environment deletion by default on tutor config save --interactive. (by @regisb)
  • 💥[Improvement] Rename Tutor's two branches (by @kdmccormick):
    • Rename master to release, as this branch runs the latest official Open edX release.
    • Rename nightly to main, as this branch runs the Open edX master (a.k.a. main) branches, which are the basis fort the next Open edX release.
    • For Tutor Nightly users who do not set a TUTOR_ROOT, both the project root (~/.local/share/tutor-nightly on Linux) and the plugins root (~/.local/share/tutor-nightly-plugins on Linux) will be automatically renamed. (by @regisb)
  • 💥 [Deprecation] Drop support for python 3.8 and set Python 3.9 as the minimum supported python version. (by @DawoudSheraz)
  • [Feature] Add a filter to define the celery workers startup command. (by @Ian2012)
  • [Improvement] When building images with tutor images build --cache-to-registry, use an OCI-compliant cache artifact format that should be universally compatible with all registries. This enables the use of that option when working with third-party registries such as Harbor or ECR. Requires BuildKit 0.12 or later. (by @angonz and @fghaas)
  • [Feature] Add the TUTOR_BRANCH_IS_MAIN variable to the template context, which is set to True for users running Tutor Main (by @kdmccormick).
  • [Bugfix] Use TUTOR_BRANCH_IS_MAIN rather than the edx-platform branch name in order to determine which patches to apply. This way, when developers are testing an edx-platform branch that is not master but which may be based on master, they will receive master patches rather than release patches, assuming they are running Tutor Main in the first place (by @kdmccormick).

v18.1.4

24 Oct 11:27
7d93cc3
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.1.4"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.1.4/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

  • [Improvement] Set EDXAPP_TEST_MONGO_HOST env var in the openedx-dev image so that it no longer needs to be set by hand when running edx-platform unit tests (by @kdmccormick).

  • [Feature] Added -c or --clean option to tutor config save: For plugin developers and advanced users, this option cleans the env/ folder before saving, ensuring a fresh environment for testing and development. (by @CodeWithEmad)

  • [Feature] Add a patches show my-patch-name. This is a convenient command for the troubleshooting of plugins. (by @regisb)

  • [Improvement] Fixes an issue which caused 502 errors by a premature closed connection by uwsgi, it also improves the handling of SIGTERM in docker and other uwsgi improvements (by @Ian2012).

  • [Improvement] Do not run useless celery workers (lms-worker, cms-worker) in development. This should save us ~700MB memory. (by @arbrandes, @regisb).

  • [Bugfix] Fixed an issue where the site name was not limited to 50 characters when creating a new site configuration. (by @CodeWithEmad)

  • [Feature] Update Open edX version to redwood.3 (by @DawoudSheraz)

v18.1.3

13 Aug 07:57
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.1.3"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.1.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

v18.1.2

30 Jul 07:27
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.1.2"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.1.2/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

  • [Security] Add upstream security fix as patch in Open edX image (by @DawoudSheraz)

v18.1.1

04 Jul 07:38
cbd20d3
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.1.1"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.1.1/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

  • [Bugfix] Fix mysql-native-password is not loaded error in MySQL 8.4 when upgrading from tutor 15 or an earlier release to tutor 18 by enabling the plugin. (by @Danyal-Faheem)

v18.1.0

25 Jun 16:12
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.1.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.1.0/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] Upgrade default charset and collation of mysql to "utf8mb4" and "utf8mb4_unicode_ci" respectively. This upgrade should be automatic for most users. However, if you are running a third-party MySQL (i.e. RUN_MYSQL=false), you are expected to upgrade manually. Please refer to the third-party provider's documentation for detailed upgrade instructions. Ensuring that your MySQL version is up-to-date is crucial for maintaining compatibility and security. (by @Danyal-Faheem)
  • [Bugfix] Do not fail on start when there are not persistent volume claims to apply. (by @snglth)
  • [Bugfix] Fix legacy warnings during Docker build. (by @regisb)

v18.0.0

20 Jun 08:46
617a2a8
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.0.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.0.0/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] Upgrade to Redwood (by @DawoudSheraz)

  • [Bugfix] Wrap Django5 warning imports in try-except block to avoid failures in django3 that's still in use in edx-platform's master branch (by @mariajgrimaldi).

  • 💥[Feature] Pull translations via atlas during Docker build. This breaks the openedx-i18n custom locale Tutor feature in favor of OEP-58 in favor of https://github.com/openedx/openedx-translations. (by @OmarIthawi)

  • 💥[Feature] The openedx-assets command is replaced with npm run subcommands. This will slightly reduce the build time for edx-platform assets and comprehensive themes. It will also open up the door for more significant build time reductions in the future. Here is a migration guide, where each command is to be run in the lms or cms container:

    Before After
    openedx-assets build --env=prod ARGS npm run build -- ARGS
    openedx-assets build --env=dev ARGS npm run build-dev -- ARGS
    openedx-assets common --env=prod ARGS npm run compile-sass -- --skip-themes ARGS
    openedx-assets common --env=dev ARGS npm run compile-sass-dev -- --skip-themes ARGS
    openedx-assets webpack --env=prod ARGS npm run webpack -- ARGS
    openedx-assets webpack --env=dev ARGS npm run webpack-dev -- ARGS
    openedx-assets npm npm run postinstall (npm clean-install runs this automatically)
    openedx-assets xmodule (no longer necessary)
    openedx-assets collect ARGS ./manage.py lms collectstatic --noinput ARGS && ./manage.py cms collectstatic ARGS
    openedx-assets watch-themes ARGS npm run watch-themes -- ARGS

For more details, see the deprecation notice for paver
and the static assets reference
in edx-platform.

  • 💥[Feature] Update MongoDB to v7.0.7 (by @DawoudSheraz) MongoDB is upgraded from version 4.4 to 7.0. Since there have been major releases since 4.4, the upgrade will need to go through them before running Mongo 7. MongoDB would need to follow 4.4 --> 5.0 --> 6.0 --> 7.0 upgrade path to work correctly. The container will keep on restarting with featureCompatibility error if the upgrade path is not followed. To upgrade mongo, run the following command based in the appropriate environment:

    tutor <dev|local|k8s> upgrade --from=quince

For k8s only, the above command will not perform the upgrade automatically. Instead, the command will output a series of commands that would need to be run manually to carry out the upgrade.

  • [Improvement] Upgrade Nodejs from 16.14.0 to 18.20.1 in edx-platform. (by @regisb)
  • [Improvement] Auto-detect bind mounts of openedx-learning for edx-platform (by @bradenmacdonald)
  • [Feature] Upgrade Open edX image to use Python 3.11 (by @DawoudSheraz)
  • [Bugfix] Remove CORS_ALLOW_HEADERS setting from the LMS/Studio config template. This setting, which holds site-agnostic application logic, is now consistently set to a reasonable value upstream by LMS and CMS config. Using the upstream values fixes a bug where course import in Studio using the new Course Authoring MFE was broken in Tutor deployments because it required additional headers to be allowed (content-range and content-disposition) (by @ormsbee)
  • [Improvement] Made Docker cache hits more frequent during the openedx image build via BuildKit's COPY --link feature (by @kdmccormick).
  • 💥[Improvement] Upgrade MySQL to 8.4.0. The upgrade should be automatic for most users. However, if you are running a third-party MySQL (i.e., RUN_MYSQL=false), you are expected to upgrade manually. Please refer to the third-party provider's documentation for detailed upgrade instructions. Ensuring that your MySQL version is up-to-date is crucial for maintaining compatibility and security. (by @rohansaeed)
  • 💥[Improvement] Ensure that the edx-platform repository git checkout is cached by Docker during image build. This means that the cache will automatically be cleared any time there is an upstream change. Thus, it is no longer necessary to run tutor images build --no-cache just to fetch the latest edx-platform changes. For this to work, any GitHub repository referenced by EDX_PLATFORM_REPOSITORY needs to end with ".git". Make sure that this is the case if you have modified the value of this setting in the past. (by @regisb)

v17.0.6

13 Jun 09:13
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==17.0.6"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v17.0.6/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] Introduces the IS_FILE_RENDERED Filter, which allows developers to specify files that should be copied directly without rendering. This update empowers developers to manage special file types, ensuring that they are transferred intact without undergoing template processing. (by @Abdul-Muqadim-Arbisoft)

  • [Improvement] Remove the obsolete version property from all Docker Compose files and remove the DOCKER_COMPOSE_VERSION config setting. This addresses the deprecation warning from docker-compose (version 1.27 and above) regarding version being obsolete. (by @jasonmokk)

  • [Bugfix] Fix permissions error on windows when running tutor dev start (by @Danyal-Faheem)

v17.0.5

23 May 18:11
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==17.0.5"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v17.0.5/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] Introduces the CONFIG_USER Filter. Used to declare unique key:value pairs in config.yml that will be overwritten when running tutor config save. Useful for injecting secrets from an external secrets manager into edx, or other values that may change over time that you need to programmatically fetch. (by @abonnell)

  • [Improvement] Add ability to patch proxy configuration for Caddy (by @ravikhetani)

  • [Security] Add Upstream "Privilege re-escalation in Studio after staff access removed" git security patch in Open edX Image(by @DawoudSheraz)

v17.0.4

11 Apr 09:57
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==17.0.4"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v17.0.4/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