Releases: overhangio/tutor
v18.2.0
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
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 theenv/
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
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
- [Feature] Update to redwood.2 tag (by @DawoudSheraz)
v18.1.2
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
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
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
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 theopenedx-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 withnpm 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 thelms
orcms
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 byEDX_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
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) regardingversion
being obsolete. (by @jasonmokk) -
[Bugfix] Fix permissions error on windows when running
tutor dev start
(by @Danyal-Faheem)
v17.0.5
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
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
-
[Security] Update Redis to 7.2.4 (by @DawoudSheraz)
-
[Improvement] Update release to open-release/quince.3 (by @DawoudSheraz)