Skip to content

Releases: overhangio/tutor

v16.0.0

15 Jun 01:41
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==16.0.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v16.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 Palm. (by @regisb)
    • [Bugfix] Rename ORA2 file upload folder from "SET-ME-PLEASE (ex. bucket-name)" to "openedxuploads". This has the effect of moving the corresponding folder from the <tutor root>/data/lms/ora2 directory. MinIO users were not affected by this bug.
    • 💥[Improvement] During registration, the honor code and terms of service links are no longer visible by default. For most platforms, these links did not work anyway.
    • 💥[Deprecation] Halt support for Python 3.7. The binary release of Tutor is also no longer compatible with macOS 10.
    • 💥[Deprecation] Drop support for docker-compose, also known as Compose V1. The docker compose (no hyphen) plugin must be installed.
    • 💥[Refactor] We simplify the hooks API by getting rid of the ContextTemplate, FilterTemplate and ActionTemplate classes. As a consequences, the following changes occur:
      • APP was previously a ContextTemplate, and is now a dictionary of contexts indexed by name. Developers who implemented this context should replace Contexts.APP(...) by Contexts.app(...).
      • Removed the ENV_PATCH filter, which was for internal use only anyway.
      • The PLUGIN_LOADED ActionTemplate is now an Action which takes a single argument. (the plugin name)
    • 💥[Refactor] We refactored the hooks API further by removing the static hook indexes and the hooks names. As a consequence, the syntactic sugar functions from the "filters" and "actions" modules were all removed: get, add*, iterate*, apply*, do*, etc.
    • 💥[Deprecation] The obsolete filters COMMANDS_PRE_INIT and COMMANDS_INIT have been removed. Plugin developers should instead use CLI_DO_INIT_TASKS (with suitable priorities).
    • 💥[Feature] The "openedx" Docker image is no longer built with docker-compose in development on tutor dev start. This used to be the case to make sure that it was always up-to-date, but it introduced a discrepancy in how images were build (docker compose build vs docker build). As a consequence:
      • The "openedx" Docker image in development can be built with tutor images build openedx-dev.
      • The tutor dev/local start --skip-build option is removed. It is replaced by opt-in --build.
    • [Improvement] The IMAGES_BUILD filter now supports relative paths as strings, and not just as tuple of strings.
    • [Improvement] Auto-complete the image names in the images build/pull/push/printtag commands.
    • [Deprecation] For local installations, Docker v20.10.15 and Compose v2.0.0 are now the minimum required versions.
    • [Bugfix] Make tutor config printvalue ... print actual yaml-formatted values, such as "true" and "null"
    • 💥[Improvement] MongoDb was upgraded to 4.4.
  • 💥[Improvement] Deprecate the RUN_LMS and RUN_CMS tutor settings, which should be mostly unused. (by @regisb)
  • [Improvement] Greatly simplify ownership of bind-mounted volumes with docker-compose. Instead of running one service per application, we run just a single "permissions" service. This change should be backward-compatible. (by @regisb)
  • [Feature] Add a config save -a/--append -A/--remove options to conveniently append and remove values to/from list entries. (by @regisb)
  • [Improvement] Considerably accelerate building the "openedx" Docker image with RUN --mount=type=cache. This feature is only for Docker with BuildKit, so detection is performed at build-time. (by @regisb)
  • [Improvement] Automatically pull Docker image cache from the remote registry. Again, this will considerably improve image build-time, particularly in "cold-start" scenarios, where the images need to be built from scratch. The registry cache can be disabled with the tutor images build --no-registry-cache option. (by @regisb)
  • [Feature] Automatically mount host folders at build time. This is a really important feature, as it allows us to transparently build images using local forks of remote repositories. (by @regisb)
  • 💥[Deprecation] Remove the various --mount options. These options are replaced by persistent mounts, which are managed by the tutor mounts commands. (by @regisb)
  • [Feature] Add the do importdemocourse --repo-dir=... option, to import courses from subdirectories of git repositories. This allows us to import the openedx-test-course in Palm with: tutor local do importdemocourse --repo=https://github.com/openedx/openedx-test-course --version=o pen-release/palm.master --repo-dir=test-course/course. (by @regisb)

v15.3.7

14 Jun 09:04
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==15.3.7"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.3.7/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] Change authSource to authsource(LOWERCASE) in mongo db parameters. This allow to authenticate with credentials in openedx code.(by @johanv26)
  • [Feature] Add support for loading in-cluster config when running inside a pod. In certain scenarios, Tutor may operate within a pod that has access to a cluster through role binding and a service account. In these instances, the ./kube/config file may not be present, but kubectl commands can still execute without any problems. (by @CodeWithEmad)
  • [Improvement] Bump the default MongoDB Docker image reference from version 4.2.17 to 4.2.24. (by @fghaas)

v15.3.6

14 Jun 09:08
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==15.3.6"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.3.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] Upgrade to open-release/olive.4. (by @regisb)

v15.3.5

28 Apr 07:28
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==15.3.5"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.3.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] Make it possible to import the demo course from a different git repository or version. (by @regisb)
  • [Feature] Add a convenient do print-edx-platform-setting command to print the value of an edx-platform setting. (by @regisb)
  • [Improvement] Improve edx-platform logging by silencing a couple deprecation warnings. (by @regisb)
  • [Feature] Add a convenient do sqlshell command to enter a SQL shell as root. (by @regisb)

v15.3.4

13 Apr 14:19
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==15.3.4"

Or download the compiled binaries:

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

  • [Feature] Upgrade to open-release/olive.3. (by @regisb)

v15.3.3

22 Mar 15:17
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==v15.3.3"

Or download the compiled binaries:

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

  • [Improvement] Make it possible to extend or override the configuration of the uWSGI server. (by @MoisesGSalas)

  • [Improvement] Running tutor dev launch --mount=edx-platform now performs all necessary setup for a local edx-platform development. This includes running setup.py, installing node modules, and building assets; previously, those steps had to be run explicitly after bind-mounting a local copy of edx-platform (by @kdmccormick).

  • [Bugfix] Running jobs in development mode with tutor dev do ... will now correctly use the development image. Previously, it used the production image, just like tutor local do .... (by @kdmccormick)

  • [Improvement] Faster build with npm clean-install instead of npm install in the openedx Docker image. This may change the version of npm packages installed next to edx-platform. (by @regisb)

  • [Feature] Introduce the DOCKER_BUILD_COMMAND filter which makes it possible to customize the docker build command. (by @regisb)

  • [Improvement] During openedx image build, copy dockerize utility from Docker registry for better efficiency. (by @regisb)

  • [Improvement] Better highlight enabled plugins in tutor plugins list. (by @regisb)

  • [Bugfix] Make sure that v0 plugin patches are applied in the same order as plugins are listed. (by @regisb)

v15.3.2

13 Mar 18:41
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==v15.3.2"

Or download the compiled binaries:

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

  • [Bugfix] Use supported YouTube API for transcripts imports. (by @mariajgrimaldi)
  • [Feature] Add tutor config patches list CLI for listing available patches. (by @MaferMazu)
  • [Bugfix] Add the missing UWSGI_WORKERS env variables to the lms and cms k8s deployments. (by @MoisesGSalas)

v15.3.1

28 Feb 10:43
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==v15.3.1"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.3.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] patchStrategicMerge can now be applied to jobs. (by @keithgg)

v15.3.0

10 Feb 11:15
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==v15.3.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.3.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] Introduce plugin indexes, described in this Tutor enhancement proposal. This new feature introduces a lot of new plugins commands. See the docs for more information. (by @regisb)

  • [Improvement] Add the plugins list --enabled option. (by @regisb)

  • 💥[Improvement] Modify the output of plugins list. Enabled plugins are indicated as "enabled". Installed but not enabled plugins are no longer indicated as "disabled" but as "installed".

  • 💥[Feature] Simplify the hooks API. The modules tutor.hooks.actions, tutor.hooks.filters, and tutor.hooks.contexts are no longer part of the API. This change should not affect most developers, who only use the Actions and Filters classes (notice the plural) from tutor.hooks. (by @regisb)

    • Instead of tutor.hooks.actions.get("some:action"), use tutor.hooks.Actions.SOME_ACTION.
    • Instead of tutor.hooks.filters.get("some:filter"), use tutor.hooks.Filters.SOME_FILTER.
    • Instead of tutor.hooks.actions.add("some:action"), use tutor.hooks.Actions.SOME_ACTION.add(). The same applies to the do method.
    • Instead of tutor.hooks.filters.add("some:filter"), use tutor.hooks.Filters.SOME_FILTER.add(). The same applies to the add_item, add_items, apply, and iterate methods.
    • Instead of tutor.hooks.contexts.enter, use tutor.core.hooks.contexts.enter.
  • [Improvement] Make it possible to override the max upload size in the LMS and the CMS. This is achieved by moving the "caddyfile-lms" and "caddyfile-cms" patches just before the import proxy declarations. We also wrap the request_body directives within handle statements, which means that the max_body sizes can be overridden for specific paths. (by @regisb)

  • [Security] Fix grading issue in LTI consumer XBlock. See security advisory. (by @regisb)

  • [Feature] Upgrade all Open edX services to open-release/olive.2. (by @regisb)

v15.2.0

19 Jan 20:38
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==v15.2.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v15.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] Fix "example.com" links in registration emails. This is a breaking change for platforms that have modified the "id" field of the LMS site object in the database. These platforms should set SITE_ID=1 in the common settings via a plugin. (by @regisb)
  • [Bugfix] Running tutor k8s upgrade --from=maple won't apply and won't wait for the MySQL deployment to be ready if RUN_MYSQL: false (When you host your MySQL somewhere else like RDS) (by @CodeWithEmad)
  • [Bugfix] Fix HTML component editing in studio by cherry-picking upstream fix. (by @regisb)
  • [Improvement] Changes annotations from typing to use built-in generic types from __future__.annotations (by @Carlos-Muniz)
  • [Improvement] Resolve CORS_ORIGIN_WHITELIST warnings that pollute the LMS and CMS logs. As far as we know they were not causing any issue, apart from being a nuisance. (by @regisb)