Releases: overhangio/tutor
v16.0.0
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. Thedocker compose
(no hyphen) plugin must be installed. - 💥[Refactor] We simplify the hooks API by getting rid of the
ContextTemplate
,FilterTemplate
andActionTemplate
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 replaceContexts.APP(...)
byContexts.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
andCOMMANDS_INIT
have been removed. Plugin developers should instead useCLI_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
vsdocker 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
.
- The "openedx" Docker image in development can be built with
- [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.
- [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
- 💥[Improvement] Deprecate the
RUN_LMS
andRUN_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 thetutor 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
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
toauthsource
(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
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
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
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
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 liketutor local do ...
. (by @kdmccormick) -
[Improvement] Faster build with
npm clean-install
instead ofnpm 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 thedocker 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
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
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
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
, andtutor.hooks.contexts
are no longer part of the API. This change should not affect most developers, who only use theActions
andFilters
classes (notice the plural) fromtutor.hooks
. (by @regisb)- Instead of
tutor.hooks.actions.get("some:action")
, usetutor.hooks.Actions.SOME_ACTION
. - Instead of
tutor.hooks.filters.get("some:filter")
, usetutor.hooks.Filters.SOME_FILTER
. - Instead of
tutor.hooks.actions.add("some:action")
, usetutor.hooks.Actions.SOME_ACTION.add()
. The same applies to thedo
method. - Instead of
tutor.hooks.filters.add("some:filter")
, usetutor.hooks.Filters.SOME_FILTER.add()
. The same applies to theadd_item
,add_items
,apply
, anditerate
methods. - Instead of
tutor.hooks.contexts.enter
, usetutor.core.hooks.contexts.enter
.
- Instead of
-
[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 therequest_body
directives withinhandle
statements, which means that themax_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
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 ifRUN_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)