Skip to main content

Moodle 5.2.2

Unreleased Moodle Version
This version of Moodle has not yet been released.

Release date: 10 August 2026

Here is the full list of fixed issues in 5.2.2.

General fixes and improvements

  • MDL-79745 - Imported hidden sections are visible in a new course
  • MDL-85516 - Suspended users' assignments act different when suspended in course or on system level
  • MDL-82026 - Cannot remove any quiz setting via overrides
  • MDL-73037 - Cannot upload (update) users with duplicate user profile field values
  • MDL-76966 - Multi-page PDF conversions using ghostscript fail on Windows server
  • MDL-68769 - Orphaned ad-hoc tasks for refresh_mod_calendar_events_task fall into faildelay loop
  • MDL-84915 - Not possible to search for "0" in database activity module
  • MDL-88559 - External badges prevent loading a user's profile
  • MDL-87395 - tag_cron_task throws "Error reading from database (number of parameters must be between 0 and 65535)"
  • MDL-84888 - Stop showing exception details in REST calls when not in debug developer mode
  • MDL-87496 - OAuth2 linked login expired requests are never deleted
  • MDL-86281 - Ad-hoc task: qtype_multianswer\task\cleanup_duplicate_subquestions fails
  • MDL-88921 - Badge message placeholders are not replaced in notification subject
  • MDL-87794 - Formula escaping breaks CSV import
  • MDL-79763 - "Convert submission" ad-hoc task unable to complete
  • MDL-89071 - Site administrator and teacher with editing rights receive "filenotfound" error when downloading an Assignment additional file before the "Allow submissions from" date
  • MDL-88861 - Deeplink to notifications preference page wrongly determines user ID without existing session
  • MDL-88746 - The prompt asking to really delete question banks does not filter the question bank name
  • MDL-88653 - Drag-drop into text questions: Long answers do not wrap-text correctly
  • MDL-87686 - Orphaned ad-hoc tasks from removed plugins can block further task execution
  • MDL-86290 - Glossary view and print issues
  • MDL-81535 - Missing caret icon on the course LTI External tools page
  • MDL-88814 - Pages broken with mod_php
  • MDL-89055 - Hardcoded dependencies on AI plugins break the site if they are uninstalled
  • MDL-88878 - OpenAI AI provider: json_encode() escapes slashes in model name, causing 404 with OpenAI-compatible providers
  • MDL-88805 - Site Registration: include disk usage causing site to slow down after upgrade to 5.2
  • MDL-89307 - AI provider action settings page sets a wrong page URL, breaking any redirects (ie "Edit mode" button)
  • MDL-89237 - Rollback multi-language support in additionalhtmlfooter
  • MDL-89209 - course_delete_modules is no longer idempotent when the course module record is missing
  • MDL-89096 - Fix purge of missing subplugins
  • MDL-89073 - Linear navigation footer incorrectly visible on stealth activities
  • MDL-89057 - Status checks do not show information
  • MDL-89008 - TinyMCE: RecordRTC does not allow user with moodle/course:ignorefilesizelimits to create file exceed file size limit
  • MDL-88980 - Manage tokens report fails for users without webservice:managealltokens
  • MDL-88945 - The image size does not change correctly when editing it in the TinyMCE editor
  • MDL-88930 - User tour step form validation broken/confusing
  • MDL-88772 - The AI summarise action includes the explain response in its prompt and vice versa
  • MDL-88747 - Content bank: Custom fields are displayed twice when viewing content
  • MDL-88745 - Content bank: Deprecation notice when displaying custom fields in PHP 8.2+
  • MDL-88742 - Error after pressing space when enrolling participants
  • MDL-88710 - mod_assign: User override selector should exclude users with expired enrolments and non-eligible users
  • MDL-88658 - mod_data export does not properly export zero ("0") values
  • MDL-88652 - Recently accessed items block produces PHP warnings when stored cmid no longer exists
  • MDL-88624 - H5P count attempts returns wrong number if a user is enrolled with multiple methods
  • MDL-88544 - The course filters table lost the striped layout
  • MDL-88514 - mod_assign: User and group overrides do not affect whether staff can edit submission
  • MDL-88460 - Custom reports send empty report if the report is empty, instead of not sending
  • MDL-88446 - YouTube playback breaks when preceded by an OGV‑supported video embed
  • MDL-88428 - run_failed_adhoc_tasks incorrectly filters out tasks where attemptsavailable is 0
  • MDL-88407 - mod_assign: Multiplicator and Offset are applied twice when grade penalty is enabled
  • MDL-88328 - qtype_ordering: files in answer items and combined feedback are lost when moving a question between question banks in different contexts
  • MDL-88291 - Autoload does not work properly for AWS SDK
  • MDL-88248 - On the "Cohorts synced to this learning plan template" the cohort names are not filtered
  • MDL-88202 - Script admin/cli/fix_orphaned_question_categories.php throws error "Undefined variable $course"
  • MDL-88175 - In competency rules, if defining a "When"→"Points required are met" condition, the numeric fields are too narrow
  • MDL-88167 - Grunt watch does not work for SCSS files
  • MDL-88128 - Moodle does not match Accept-Language from header if not exact when setting the language for a new session
  • MDL-87974 - Correctly style dropleft and dropup chevrons for buttons
  • MDL-87912 - Flickr repository search form checkboxes corrupt/non-functional
  • MDL-87581 - Courses uploaded via bulk course creation/copy do not restore the course's summary or overview files
  • MDL-87222 - CORS policy error from YouTube repository when importing
  • MDL-86920 - Icon in "next section" link should be placed after the section name text
  • MDL-86525 - Course JPEG files are different after restore
  • MDL-86446 - cachestore_redis: Purging cache area shortly locks the whole instance
  • MDL-85256 - Inbound email MIME parsing issues
  • MDL-83688 - Naming a grade category "0" causes an error on the gradebook setup page
  • MDL-82514 - Calendar missing entries when resetting dropdown filter
  • MDL-79755 - Wrong encoding for course name and actions button in Course overview block

Accessibility fixes and improvements

  • MDL-89252 - "Add a new category" button in custom fields administration cannot be activated by keyboard
  • MDL-88964 - TinyMCE editor accessibility issues
  • MDL-88956 - Assignment editing: Missing accessible label on the "Word limit" field
  • MDL-88951 - TinyMCE image details modal: Fake headings, delete image button issues
  • MDL-88354 - Empty link in the sortable list dialogue
  • MDL-77208 - Links within form help popovers are not keyboard accessible
  • MDL-89221 - The recently accessed courses block's pagination controls obscures block controls (move/action menu)
  • MDL-88963 - Target size below 24x24px minimum for block action buttons
  • MDL-88962 - Course Home edit mode: No status message when moving sections
  • MDL-88961 - Calendar: Day event tooltip not dismissable without moving focus
  • MDL-88960 - Activity chooser: Filter tabs do not reflow at 400% zoom
  • MDL-88959 - Non-text contrast: form-switch element has insufficient contrast
  • MDL-88958 - Accessibility issues in Comments
  • MDL-88957 - Accessibility issues with the custom fields admin pages
  • MDL-88955 - Assignment grading: Sticky table header is misplaced at 400% zoom
  • MDL-88932 - Chevron icon on the message drawer conversation item has insufficient contrast on hover
  • MDL-88833 - Nested search landmark role involving core/search_input_auto
  • MDL-88528 - Logo image breaks main menu on small screens (mobile)
  • MDL-88173 - qtype_multichoice: Screen readers do not announce question text for radio button groups
  • MDL-71231 - Make previous/next chapter links for the book activity more meaningful

Performance fixes and improvements

  • MDL-88393 - Performance issue when upgrading to 5.2 due to use of question_delete_question API in MDL-73602 upgrade step

Security fixes

A number of security related issues were resolved. Details of these issues will be released after a period of approximately one week to allow system administrators to safely update to the latest version.