Skip to content

Releases: overhangio/tutor

v19.0.0

16 Dec 21:09
8a09339
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==19.0.0"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v19.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 default charset and collation of mysql to utf8mb4 and utf8mb4_unicode_ci respectively (by @Danyal-Faheem)

    • Add do command to upgrade the charset and collation of tables in mysql.
    • The command will perform the following upgrades:
      • Upgrade all utf8mb3 charset to utf8mb4
      • Upgrade collation utf8mb3_general_ci to utf8mb4_unicode_ci
      • Upgrade collation utf8mb3_bin to utf8mb4_bin
      • Upgrade collation utf8mb3_* to utf8mb4_*
  • [Feature] Create a new /data/openedx-media-private volume to store media files that are not publicly accessible via the browser, and create configuration that Learning Core (openedx-learning) will use to access this storage space. Learning Core will use a sub-directory of /data/openedx-media-private to store Content Library file uploads, but other apps can create their own sub-directories for their own use. (by @ormsbee)

  • 💥[Feature] Update Open edX Image to use Ubuntu 22.04 as base OS. (by @DawoudSheraz)

    • Adds xmlsec related dependencies to fix xmlsec import issues during translations build
  • 💥[Feature] Migrate from local.edly.io to local.openedx.io. (by @regisb)

  • 💥[Feature] Upgrade to Sumac. (by @DawoudSheraz)

  • 💥[Feature] Replace Elasticsearch by Meilisearch. Elasticsearch was both a source of complexity and high resource usage. With this change, we no longer run Elasticsearch to perform common search queries across Open edX. This includes: course discovery, courseware search and studio search. Instead, we index all these documents in a Meilisearch instance, which is much more lightweight in terms of memory consumption. (by @regisb)

  • [Bugfix] Don't build uwsgi with XML support (by @feanil)

  • [Feature] With the new forum v2 application, users have a choice to use MongoDB or MySQL as a storage backend, course per course. New users will automatically start using MySQL, while existing users will be responsible for migrating their data themselves (before the Teak release). Upgrade instructions are available here: https://github.com/overhangio/tutor-forum/#installation. (by @regisb)

  • 💥[Improvement] Get rid of the is_docker_rootless template filter, which was used only by Elasticsearch. (by @regisb)

[Improvement] Forcefully enable the Learning MFE's navigation sidebar when upgrading to Sumac. (by @arbrandes)

v18.2.2

10 Dec 11:17
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.2.2"

Or download the compiled binaries:

sudo curl -L "https://github.com/overhangio/tutor/releases/download/v18.2.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] Fix CI scripts to publish macOS binaries.

v18.2.1

10 Dec 10:47
Compare
Choose a tag to compare

Install this version from pip with:

pip install "tutor[full]==18.2.1"

Or download the compiled binaries:

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

  • [Feature] Add integer variables TUTOR_VERSION_MAJOR and TUTOR_VERSION_MINOR to the template context. These are parsed from the existing TUTOR_VERSION string variable, which takes the format "MAJOR.MINOR.PATCH". We add them as a convenience to developers who need to maintain version-agnostic Tutor plugins (by @michaelwheeler and @kdmccormick).
  • [Feature] Adds tutor config edit command. This opens the active tutor environment's config.yaml in an editor for manual editing. (by @tecoholic)
  • [Improvement] Disable celery gossip and mingle to improve celery performance. (by @Ian2012)
  • [Bugfix] Fix breakpoint debugging by attaching container stdin when running tutor dev start <service> for a single service. (by @Danyal-Faheem)

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)