From 6f6714e29d2080d8fc2b581f377890588a561fb1 Mon Sep 17 00:00:00 2001 From: DawoudSheraz Date: Fri, 3 May 2024 11:57:29 +0500 Subject: [PATCH 1/7] v18.0.0 --- .../20240503_115445_dawoud.sheraz_redwood.md | 1 + docs/configuration.rst | 6 ++-- docs/dev.rst | 2 +- docs/install.rst | 4 +-- docs/quickstart.rst | 2 +- docs/reference/indexes.rst | 10 +++---- docs/tutorials/edx-platform.rst | 2 +- requirements/plugins.txt | 28 +++++++++---------- tests/test_env.py | 2 +- tutor/__about__.py | 2 +- tutor/commands/upgrade/__init__.py | 3 +- tutor/commands/upgrade/compose.py | 1 + tutor/commands/upgrade/k8s.py | 1 + tutor/env.py | 1 + tutor/templates/build/openedx/revisions.yml | 2 +- tutor/templates/config/defaults.yml | 2 +- 16 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 changelog.d/20240503_115445_dawoud.sheraz_redwood.md diff --git a/changelog.d/20240503_115445_dawoud.sheraz_redwood.md b/changelog.d/20240503_115445_dawoud.sheraz_redwood.md new file mode 100644 index 0000000000..06ab919eae --- /dev/null +++ b/changelog.d/20240503_115445_dawoud.sheraz_redwood.md @@ -0,0 +1 @@ +- 💥[Feature] Upgrade to redwood (by @dawoudsheraz) diff --git a/docs/configuration.rst b/docs/configuration.rst index 928f3ad357..4897a46206 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -132,7 +132,7 @@ Open edX customisation This defines the git repository from which you install Open edX platform code. If you run an Open edX fork with custom patches, set this to your own git repository. You may also override this configuration parameter at build time, by providing a ``--build-arg`` option. -- ``OPENEDX_COMMON_VERSION`` (default: ``"open-release/quince.1"``, or ``master`` in :ref:`nightly `) +- ``OPENEDX_COMMON_VERSION`` (default: ``"open-release/redwood.1"``, or ``master`` in :ref:`nightly `) This defines the default version that will be pulled from all Open edX git repositories. @@ -378,9 +378,9 @@ Note that your edx-platform version must be a fork of the latest release **tag** If you don't create your fork from this tag, you *will* have important compatibility issues with other services. In particular: -- Do not try to run a fork from an older (pre-Quince) version of edx-platform: this will simply not work. +- Do not try to run a fork from an older (pre-Redwood) version of edx-platform: this will simply not work. - Do not try to run a fork from the edx-platform master branch: there is a 99% probability that it will fail. -- Do not try to run a fork from the open-release/quince.master branch: Tutor will attempt to apply security and bug fix patches that might already be included in the open-release/quince.master but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the open-release/quince.master branch. +- Do not try to run a fork from the open-release/redwood.master branch: Tutor will attempt to apply security and bug fix patches that might already be included in the open-release/redwood.master but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the open-release/redwood.master branch. .. _i18n: diff --git a/docs/dev.rst b/docs/dev.rst index f2d274d22a..c7c95616e7 100644 --- a/docs/dev.rst +++ b/docs/dev.rst @@ -113,7 +113,7 @@ The ``openedx-dev`` Docker image is based on the same ``openedx`` image used by - The user that runs inside the container has the same UID as the user on the host, to avoid permission problems inside mounted volumes (and in particular in the edx-platform repository). - Additional Python and system requirements are installed for convenient debugging: `ipython `__, `ipdb `__, vim, telnet. -- The edx-platform `development requirements `__ are installed. +- The edx-platform `development requirements `__ are installed. If you are using a custom ``openedx`` image, then you will need to rebuild ``openedx-dev`` every time you modify ``openedx``. To so, run:: diff --git a/docs/install.rst b/docs/install.rst index b058ddced5..7645fbf49d 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -123,11 +123,11 @@ Major Open edX releases are published twice a year, in June and December, by the 4. Test the new release in a sandboxed environment. 5. If you are running edx-platform, or some other repository from a custom branch, then you should rebase (and test) your changes on top of the latest release tag (see :ref:`edx_platform_fork`). -The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Palm to Quince and rebuild some Docker images, run:: +The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Quince to Redwood and rebuild some Docker images, run:: tutor config save tutor images build all # list the images that should be rebuilt here - tutor local upgrade --from=palm + tutor local upgrade --from=quince tutor local launch .. _autocomplete: diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 58cf4d4e32..0c774f8b4a 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -22,7 +22,7 @@ Yes :) This is what happens when you run ``tutor local launch``: 2. Configuration files are generated from templates. 3. Docker images are downloaded. 4. Docker containers are provisioned. -5. A full, production-ready Open edX platform (`Quince `__ release) is run with docker-compose. +5. A full, production-ready Open edX platform (`Redwood `__ release) is run with docker-compose. The whole procedure should require less than 10 minutes, on a server with good bandwidth. Note that your host environment will not be affected in any way, since everything runs inside docker containers. Root access is not even necessary. diff --git a/docs/reference/indexes.rst b/docs/reference/indexes.rst index e9c337ea33..45fff4b3c0 100644 --- a/docs/reference/indexes.rst +++ b/docs/reference/indexes.rst @@ -7,10 +7,10 @@ Plugin indexes are a great way to have your plugins discovered by other users. P Index file paths ================ -A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Quince" release: +A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Redwood" release: -- https://overhang.io/tutor/main/quince/plugins.yml -- ``/path/to/your/local/index/quince/plugins.yml`` +- https://overhang.io/tutor/main/redwood/plugins.yml +- ``/path/to/your/local/index/redwood/plugins.yml`` To add either indexes, run the ``tutor plugins index add`` command without the suffix. For instance:: @@ -106,9 +106,9 @@ Manage plugins in development Plugin developers and maintainers often want to install local versions of their plugins. They usually achieve this with ``pip install -e /path/to/tutor-plugin``. We can improve that workflow by creating an index for local plugins:: # Create the plugin index directory - mkdir -p ~/localindex/quince/ + mkdir -p ~/localindex/redwood/ # Edit the index - vim ~/localindex/quince/plugins.yml + vim ~/localindex/redwood/plugins.yml Add the following to the index:: diff --git a/docs/tutorials/edx-platform.rst b/docs/tutorials/edx-platform.rst index afc39002cd..793498a248 100644 --- a/docs/tutorials/edx-platform.rst +++ b/docs/tutorials/edx-platform.rst @@ -69,7 +69,7 @@ Quite often, developers don't want to work on edx-platform directly, but on a de cd /my/workspace/edx-ora2 git clone https://github.com/openedx/edx-ora2 . -Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt `__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**:: +Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt `__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**:: git checkout diff --git a/requirements/plugins.txt b/requirements/plugins.txt index 36e7c0a5e5..2c4be2fe12 100644 --- a/requirements/plugins.txt +++ b/requirements/plugins.txt @@ -1,14 +1,14 @@ -# change version ranges when upgrading from quince -tutor-android>=17.0.0,<18.0.0 -tutor-cairn>=17.0.0,<18.0.0 -tutor-credentials>=17.0.0,<18.0.0 -tutor-discovery>=17.0.0,<18.0.0 -tutor-ecommerce>=17.0.0,<18.0.0 -tutor-forum>=17.0.0,<18.0.0 -tutor-indigo>=17.0.0,<18.0.0 -tutor-jupyter>=17.0.0,<18.0.0 -tutor-mfe>=17.0.0,<18.0.0 -tutor-minio>=17.0.0,<18.0.0 -tutor-notes>=17.0.0,<18.0.0 -tutor-webui>=17.0.0,<18.0.0 -tutor-xqueue>=17.0.0,<18.0.0 +# change version ranges when upgrading from redwood +tutor-android>=18.0.0,<19.0.0 +tutor-cairn>=18.0.0,<19.0.0 +tutor-credentials>=18.0.0,<19.0.0 +tutor-discovery>=18.0.0,<19.0.0 +tutor-ecommerce>=18.0.0,<19.0.0 +tutor-forum>=18.0.0,<19.0.0 +tutor-indigo>=18.0.0,<19.0.0 +tutor-jupyter>=18.0.0,<19.0.0 +tutor-mfe>=18.0.0,<19.0.0 +tutor-minio>=18.0.0,<19.0.0 +tutor-notes>=18.0.0,<19.0.0 +tutor-webui>=18.0.0,<19.0.0 +tutor-xqueue>=18.0.0,<19.0.0 diff --git a/tests/test_env.py b/tests/test_env.py index 27cff9678b..e2ba7bbe1d 100644 --- a/tests/test_env.py +++ b/tests/test_env.py @@ -260,7 +260,7 @@ def test_current_version_in_latest_env(self) -> None: ) as f: f.write(__version__) self.assertEqual(__version__, env.current_version(root)) - self.assertEqual("quince", env.get_env_release(root)) + self.assertEqual("redwood", env.get_env_release(root)) self.assertIsNone(env.should_upgrade_from_release(root)) self.assertTrue(env.is_up_to_date(root)) diff --git a/tutor/__about__.py b/tutor/__about__.py index 04bcbbf459..4924a76e74 100644 --- a/tutor/__about__.py +++ b/tutor/__about__.py @@ -10,7 +10,7 @@ # the nightly branch. # The suffix is cleanly separated from the __version__ in this module to avoid # conflicts when merging branches. -__version_suffix__ = "nightly" +__version_suffix__ = "" # The app name will be used to define the name of the default tutor root and # plugin directory. To avoid conflicts between multiple locally-installed diff --git a/tutor/commands/upgrade/__init__.py b/tutor/commands/upgrade/__init__.py index b7a4e028de..115d2b73b1 100644 --- a/tutor/commands/upgrade/__init__.py +++ b/tutor/commands/upgrade/__init__.py @@ -1,4 +1,4 @@ -# Note: don't forget to change this when we upgrade from quince +# Note: don't forget to change this when we upgrade from redwood OPENEDX_RELEASE_NAMES = [ "ironwood", "juniper", @@ -9,4 +9,5 @@ "olive", "palm", "quince", + "redwood" ] diff --git a/tutor/commands/upgrade/compose.py b/tutor/commands/upgrade/compose.py index b23f3e7058..df54c71d8b 100644 --- a/tutor/commands/upgrade/compose.py +++ b/tutor/commands/upgrade/compose.py @@ -48,6 +48,7 @@ def upgrade_from(context: click.Context, from_release: str) -> None: if running_release == "quince": upgrade_from_quince(context, config) + running_release = "redwood" def upgrade_from_ironwood(context: click.Context, config: Config) -> None: diff --git a/tutor/commands/upgrade/k8s.py b/tutor/commands/upgrade/k8s.py index 19e81243cc..db18835704 100644 --- a/tutor/commands/upgrade/k8s.py +++ b/tutor/commands/upgrade/k8s.py @@ -47,6 +47,7 @@ def upgrade_from(context: click.Context, from_release: str) -> None: if running_release == "quince": upgrade_from_quince(config) + running_release = "redwood" def upgrade_from_ironwood(config: Config) -> None: diff --git a/tutor/env.py b/tutor/env.py index 6f150fd792..4b91d2d539 100644 --- a/tutor/env.py +++ b/tutor/env.py @@ -467,6 +467,7 @@ def get_release(version: str) -> str: "15": "olive", "16": "palm", "17": "quince", + "18": "redwood", }[version.split(".", maxsplit=1)[0]] diff --git a/tutor/templates/build/openedx/revisions.yml b/tutor/templates/build/openedx/revisions.yml index c01e271e53..d30d0cbc0e 100644 --- a/tutor/templates/build/openedx/revisions.yml +++ b/tutor/templates/build/openedx/revisions.yml @@ -1 +1 @@ -EDX_PLATFORM_REVISION: quince +EDX_PLATFORM_REVISION: redwood diff --git a/tutor/templates/config/defaults.yml b/tutor/templates/config/defaults.yml index c60e9f0e58..a7f70c8948 100644 --- a/tutor/templates/config/defaults.yml +++ b/tutor/templates/config/defaults.yml @@ -61,7 +61,7 @@ OPENEDX_LMS_UWSGI_WORKERS: 2 OPENEDX_MYSQL_DATABASE: "openedx" OPENEDX_MYSQL_USERNAME: "openedx" # the common version will be automatically set to "master" in the nightly branch -OPENEDX_COMMON_VERSION: "open-release/quince.3" +OPENEDX_COMMON_VERSION: "open-release/redwood.1" OPENEDX_EXTRA_PIP_REQUIREMENTS: [] MYSQL_HOST: "mysql" MYSQL_PORT: 3306 From 2f9e73662428de47c43439d2bac595bcbe44d659 Mon Sep 17 00:00:00 2001 From: DawoudSheraz Date: Fri, 3 May 2024 12:26:43 +0500 Subject: [PATCH 2/7] test: format fixup --- tutor/commands/upgrade/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutor/commands/upgrade/__init__.py b/tutor/commands/upgrade/__init__.py index 115d2b73b1..44592344a5 100644 --- a/tutor/commands/upgrade/__init__.py +++ b/tutor/commands/upgrade/__init__.py @@ -9,5 +9,5 @@ "olive", "palm", "quince", - "redwood" + "redwood", ] From 30e71ef265de7beeea8b36a270a353810b9ebfec Mon Sep 17 00:00:00 2001 From: DawoudSheraz Date: Thu, 9 May 2024 13:16:31 +0500 Subject: [PATCH 3/7] chore: remove git patches --- docs/configuration.rst | 2 +- tutor/__about__.py | 2 +- tutor/templates/build/openedx/Dockerfile | 7 ------- tutor/templates/config/defaults.yml | 2 +- 4 files changed, 3 insertions(+), 10 deletions(-) diff --git a/docs/configuration.rst b/docs/configuration.rst index 4897a46206..de164c123a 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -132,7 +132,7 @@ Open edX customisation This defines the git repository from which you install Open edX platform code. If you run an Open edX fork with custom patches, set this to your own git repository. You may also override this configuration parameter at build time, by providing a ``--build-arg`` option. -- ``OPENEDX_COMMON_VERSION`` (default: ``"open-release/redwood.1"``, or ``master`` in :ref:`nightly `) +- ``OPENEDX_COMMON_VERSION`` (default: ``"open-release/redwood.master"``, or ``master`` in :ref:`nightly `) This defines the default version that will be pulled from all Open edX git repositories. diff --git a/tutor/__about__.py b/tutor/__about__.py index 4924a76e74..8c37f09911 100644 --- a/tutor/__about__.py +++ b/tutor/__about__.py @@ -2,7 +2,7 @@ # Increment this version number to trigger a new release. See # docs/tutor.html#versioning for information on the versioning scheme. -__version__ = "17.0.6" +__version__ = "18.0.0" # The version suffix will be appended to the actual version, separated by a # dash. Use this suffix to differentiate between the actual released version and diff --git a/tutor/templates/build/openedx/Dockerfile b/tutor/templates/build/openedx/Dockerfile index 65b7e6a2da..6df297b792 100644 --- a/tutor/templates/build/openedx/Dockerfile +++ b/tutor/templates/build/openedx/Dockerfile @@ -53,13 +53,6 @@ RUN git config --global user.email "tutor@overhang.io" \ # Patches in nightly node {%- else %} # Patches in non-nightly mode -# Prevent course structure cache infinite growth -# https://github.com/openedx/edx-platform/pull/34210 -RUN curl -fsSL https://github.com/openedx/edx-platform/commit/ad201cd664b6c722cbefcbda23ae390c06daf621.patch | git am -# Security patch for "Privilege re-escalation in Studio after staff access removed" -# https://github.com/openedx/edx-platform/security/advisories/GHSA-99vw-2wrq-xh9x -# https://discuss.openedx.org/t/upcoming-security-fix-for-edx-platform-on-2024-05-17/13004 -RUN curl -fsSL https://github.com/openedx/edx-platform/commit/3ff69fd5813256f935f19c237ea0c42d4c16edbf.patch | git am {%- endif %} {# Example: RUN curl -fsSL https://github.com/openedx/edx-platform/commit/.patch | git am #} diff --git a/tutor/templates/config/defaults.yml b/tutor/templates/config/defaults.yml index a7f70c8948..b4dcc18660 100644 --- a/tutor/templates/config/defaults.yml +++ b/tutor/templates/config/defaults.yml @@ -61,7 +61,7 @@ OPENEDX_LMS_UWSGI_WORKERS: 2 OPENEDX_MYSQL_DATABASE: "openedx" OPENEDX_MYSQL_USERNAME: "openedx" # the common version will be automatically set to "master" in the nightly branch -OPENEDX_COMMON_VERSION: "open-release/redwood.1" +OPENEDX_COMMON_VERSION: "open-release/redwood.master" OPENEDX_EXTRA_PIP_REQUIREMENTS: [] MYSQL_HOST: "mysql" MYSQL_PORT: 3306 From 4a84e665a102c77abc3e7cc442f9ff07c2af9247 Mon Sep 17 00:00:00 2001 From: Zia Fazal Date: Wed, 29 May 2024 14:21:47 +0500 Subject: [PATCH 4/7] chore: scorm xblock version bump (#1072) --- tutor/templates/build/openedx/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutor/templates/build/openedx/Dockerfile b/tutor/templates/build/openedx/Dockerfile index 6df297b792..6964dedea1 100644 --- a/tutor/templates/build/openedx/Dockerfile +++ b/tutor/templates/build/openedx/Dockerfile @@ -104,7 +104,7 @@ RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \ {{ patch("openedx-dockerfile-post-python-requirements") }} # Install scorm xblock -RUN pip install "openedx-scorm-xblock>=17.0.0,<18.0.0" +RUN pip install "openedx-scorm-xblock>=18.0.0,<19.0.0" {% for extra_requirements in OPENEDX_EXTRA_PIP_REQUIREMENTS %} RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \ From 73b3d380d3ce1dac956db3986f81155e7bf86d59 Mon Sep 17 00:00:00 2001 From: Danyal-Faheem Date: Fri, 14 Jun 2024 18:06:26 +0500 Subject: [PATCH 5/7] feat!: upgrade mysql charset and collation to utf8mb4 closes #938 --- .../20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md | 1 + tutor/templates/apps/openedx/config/partials/auth.yml | 2 +- tutor/templates/k8s/deployments.yml | 4 ++-- tutor/templates/local/docker-compose.yml | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md diff --git a/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md b/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md new file mode 100644 index 0000000000..ef8e266fdc --- /dev/null +++ b/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md @@ -0,0 +1 @@ +- 💥[Feature] Upgrade default charset and collation of mysql to utf8mb4 and utf8mb4_unicode_ci respectively (by @Danyal-Faheem) \ No newline at end of file diff --git a/tutor/templates/apps/openedx/config/partials/auth.yml b/tutor/templates/apps/openedx/config/partials/auth.yml index 74d46d8b7e..56f2a8b94c 100644 --- a/tutor/templates/apps/openedx/config/partials/auth.yml +++ b/tutor/templates/apps/openedx/config/partials/auth.yml @@ -18,7 +18,7 @@ DATABASES: OPTIONS: init_command: "SET sql_mode='STRICT_TRANS_TABLES'" {%- if RUN_MYSQL %} - charset: "utf8mb3" + charset: "utf8mb4" {%- endif %} EMAIL_HOST_USER: "{{ SMTP_USERNAME }}" EMAIL_HOST_PASSWORD: "{{ SMTP_PASSWORD }}" diff --git a/tutor/templates/k8s/deployments.yml b/tutor/templates/k8s/deployments.yml index 5deaec4300..765e2be747 100644 --- a/tutor/templates/k8s/deployments.yml +++ b/tutor/templates/k8s/deployments.yml @@ -394,8 +394,8 @@ spec: image: {{ DOCKER_IMAGE_MYSQL }} args: - "mysqld" - - "--character-set-server=utf8mb3" - - "--collation-server=utf8mb3_general_ci" + - "--character-set-server=utf8mb4" + - "--collation-server=utf8mb4_general_ci" - "--binlog-expire-logs-seconds=259200" env: - name: MYSQL_ROOT_PASSWORD diff --git a/tutor/templates/local/docker-compose.yml b/tutor/templates/local/docker-compose.yml index 227f92df8f..b862dda9d4 100644 --- a/tutor/templates/local/docker-compose.yml +++ b/tutor/templates/local/docker-compose.yml @@ -41,8 +41,8 @@ services: image: {{ DOCKER_IMAGE_MYSQL }} command: > mysqld - --character-set-server=utf8mb3 - --collation-server=utf8mb3_general_ci + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci --binlog-expire-logs-seconds=259200 restart: unless-stopped user: "999:999" From 12645bb83f1f7ec948803d654420d74fa6ad6344 Mon Sep 17 00:00:00 2001 From: Danyal-Faheem Date: Fri, 14 Jun 2024 19:57:18 +0500 Subject: [PATCH 6/7] fix: update the do sqlshell command as well --- tutor/commands/jobs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutor/commands/jobs.py b/tutor/commands/jobs.py index 93a10e5493..7510a83b31 100644 --- a/tutor/commands/jobs.py +++ b/tutor/commands/jobs.py @@ -309,7 +309,7 @@ def sqlshell(args: list[str]) -> t.Iterable[tuple[str, str]]: Extra arguments will be passed to the `mysql` command verbatim. For instance, to show tables from the "openedx" database, run `do sqlshell openedx -e 'show tables'`. """ - command = "mysql --user={{ MYSQL_ROOT_USERNAME }} --password={{ MYSQL_ROOT_PASSWORD }} --host={{ MYSQL_HOST }} --port={{ MYSQL_PORT }} --default-character-set=utf8mb3" + command = "mysql --user={{ MYSQL_ROOT_USERNAME }} --password={{ MYSQL_ROOT_PASSWORD }} --host={{ MYSQL_HOST }} --port={{ MYSQL_PORT }} --default-character-set=utf8mb4" if args: command += " " + shlex.join(args) # pylint: disable=protected-access yield ("lms", command) From d5863953346371b6ca5bd38f9301e98d4ee8332d Mon Sep 17 00:00:00 2001 From: Danyal-Faheem Date: Fri, 14 Jun 2024 19:58:09 +0500 Subject: [PATCH 7/7] docs: add note to upgrade third-party MySQL instances in changelog --- .../20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md b/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md index ef8e266fdc..660cba495d 100644 --- a/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md +++ b/changelog.d/20240614_180451_danyal.faheem_upgrade_mysql_utf8mb4.md @@ -1 +1,2 @@ -- 💥[Feature] Upgrade default charset and collation of mysql to utf8mb4 and utf8mb4_unicode_ci respectively (by @Danyal-Faheem) \ No newline at end of file +- 💥[Feature] Upgrade default charset and collation of mysql to utf8mb4 and utf8mb4_unicode_ci respectively (by @Danyal-Faheem) + 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. \ No newline at end of file