Moodle 5.3.1
Release date: 12 November 2026
Here is the full list of fixed issues in 5.3.1.
General fixes and improvements
- MDL-90273 - Upgrading to 5.3: core\composer error on every page until caches are purged
- MDL-90215 - H5P packages do not work offline anymore (regression from MSA-26-0044)
- MDL-89461 - Assignment with no grade and no feedback plugin fails with "Cannot load the grade item" for enrolled users
- MDL-87486 - Handle file uploads with filenames exceeding 255 characters gracefully
- MDL-89905 - Tasks which soft retry and run out of retries should turn into a task failure
- MDL-89803 - Wrong end date when unchecking Enable checkbox
- MDL-87084 - Activity completion override ignores passing grade
- MDL-73856 - Order of text filters not respected when changed in some subcontexts
- MDL-90494 - OpenAPI Routes require Composer dependencies and should not in 5.3
- MDL-90181 - Opening a drawer between about 991px and 1005px width can leave the page unable to scroll
- MDL-90060 - Deprecated styles found when viewing the definition of any role
- MDL-90012 - Marking panel updates grade workflow state when grading is locked
- MDL-89002 - Glossary "Browse by alphabet" does not work for Cyrillic entries in Moodle 5.x
- MDL-90207 - Dark colour mode ignores a customised $link-color and derives the link colours from $primary instead
- MDL-90205 - Assignment quick grading can release grades without the required permissions
- MDL-90140 - The style for highlighting the most recently created question in a question bank does not support dark mode
- MDL-90134 - Auto-create groups: Invisible system roles visible in "Select members with role" chooser if assigned to a user
- MDL-90129 - Empty activity badge shown next to the title of hidden or stealth Forum and File activities
- MDL-90069 - Add question selection background not compatible with dark mode
- MDL-90067 - Question edit Answers section white background not compatible with dark mode
- MDL-90024 - Notify users when an OAuth 2 client secret has expired
- MDL-90009 - Check detail page should always show descriptions, not just for failing checks
- MDL-89933 - $CFG->nosmsever has no effect because should_send_sms() does not declare global $CFG
- MDL-89925 - The allow role assignments table lost the stripe layout from Moodle 4.5
- MDL-89924 - The manage roles table lost the stripe layout from Moodle 4.5
- MDL-89915 - Course heading missing from Live logs report
- MDL-89891 - Assignment: locked "Grant attempts", "Calculate grade" and "Rounding" defaults display no value
- MDL-89863 - The "limitreachedmonthly" tool_mobile email notification does not provide enough contextual information
- MDL-89848 - Invalid / Expired/ Revoked API tokens give a 500 response
- MDL-89667 - Unix epoch timestamp appears in Activity Completion report tooltips
- MDL-89492 - TinyMCE plugins can modify other TinyMCE plugins' configurations
- MDL-89442 - Notify users when a personal access token is about to expire
- MDL-89248 - Align the items in Dashboard better ("Recently accessed courses", "Course overview", and "Timeline" block)
- MDL-84662 - Event user_loggedout does not contain correct realuserid when "logged in as" another user
Accessibility fixes and improvements
- MDL-89815 - Create personal access token: the "no scopes selected" error is not exposed to assistive technology (WCAG 3.3.1)
- MDL-89813 - A long option label makes a single_select grow past the viewport and forces horizontal page scrolling (WCAG 1.4.10)
Performance fixes and improvements
- MDL-88922 - Course overview percentage completion performance regression after implementing MDL-60912
- MDL-90276 - Forum discussion page runs the previous/next discussion lookup twice
- MDL-90109 - Building the theme CSS is much slower since the dark colour mode was added
- MDL-89495 - Progress bar should remove its old DOM updates to avoid DOM memory crashes
Security improvements
- MDL-89990 - OAuth 2 client actions are not logged to admin log
- MDL-89760 - Notify users and admins when a personal access token or client secret is created
- MDL-69961 - Forgot password tokens should be invalidated when account email address changes or a new token is requested
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.