Skip to main content

Moodle 5.3

Unreleased Moodle Version
This version of Moodle has not yet been released.
The code freeze date for this release is 31 August 2026.

Release date: 5 October 2026

Here is the full list of fixed issues in 5.3.0.

If you are upgrading from a previous version, please see Upgrading in the user docs.

Server requirements​

These are just the minimum supported versions. We recommend keeping all of your software and operating systems up-to-date.

  • Moodle upgrade: Moodle 4.4 or later.
  • PHP version: minimum PHP 8.3.0. PHP 8.4.x is supported too. See PHP for details.
  • PHP extension sodium is required. See Environment - PHP extension sodium.
  • PHP setting max_input_vars must be >= 5000. For further details, see Environment - max input vars.
  • PHP variants: Only 64-bit versions of PHP are supported.

Database requirements​

Moodle supports the following database servers. Again, version numbers are just the minimum supported version. We recommend running the latest stable version of any software.

DatabaseMinimum versionRecommended
PostgreSQL17 (increased in this Moodle version)Latest
MySQL8.4 (last increased in Moodle 5.0)Latest
MariaDB11.4.0 (increased in this Moodle version)Latest
Aurora MySQL8.0Latest
Microsoft SQL Server2019 (last increased in Moodle 5.2)Latest

Please note that Oracle Database is no longer supported from Moodle LMS 5.0.

Important

For all requirements it is recommended to use the latest point release of that version as a minimum.

In some cases earlier versions of a requirement may be noted, but may be pre-release versions.

Aurora MySQL compatibility version​

This system requires configuration using standard MySQL version numbers (for example, 8.0) rather than Aurora's internal versioning (for example, 3.x) to maintain compatibility with MySQL client tools, version-dependent features, and database detection methods.

Client requirements​

Browser support​

Moodle is compatible with any standards compliant web browser. We regularly test Moodle with the following browsers:

Desktop:

  • Chrome
  • Firefox
  • Safari
  • Edge

Mobile:

  • MobileSafari
  • Google Chrome

For the best experience and optimum security, we recommend that you keep your browser up to date.

Major features​

Global visual uplift​

  • MDL-89075 - Use dynamic height for course index and blocks drawers
  • MDL-88412 - Decide and change the font for LMS
  • MDL-88411 - Middle align Moodle LMS
  • MDL-88409 - Improve the block drawer
  • MDL-87836 - Change the icons for notifications and messages
  • MDL-87834 - Place global search field inline in top navigation
  • MDL-89024 - Include additional fonts in LMS
  • MDL-87861 - Display user name alongside avatar

Boost theme improvements​

  • MDL-68037 - Add Boost theme dark mode as an experimental feature
  • MDL-89309 - Access site level content bank in Boost
  • MDL-88687 - Add Tags link to user profile Miscellaneous section in Boost
  • MDL-88686 - Add navigation to manage Notes Participants in Boost
  • MDL-88685 - Add navigation to manage site Badges in Boost
  • MDL-88683 - Add navigation to manage site blogs in Boost
  • MDL-88655 - Manage Site Participants in Boost

Course view and navigation improvements​

  • MDL-87833 - New page surfaces and activity card states
  • MDL-89294 - React: Migrate top navigation to Design System component
  • MDL-87830 - React: Migrate secondary navigation to Design System component
  • MDL-88410 - Move the "expand/collapse all" out of General section

Course linear navigation​

  • MDL-89406 - Enable linear navigation for all courses and control it through a site-level setting
  • MDL-88607 - Navigation footer: Relocate activity completion controls to the sticky footer for linear navigation
  • MDL-87737 - Navigation footer: Replace "Back to course" button with "Previous" and "Next" linear navigation
  • MDL-87575 - Navigation footer: Implement a mechanism to add exceptions and implement them for the Assignment pages
  • MDL-87302 - Navigation footer: Add a setting to enable/disable the linear course navigation for topics/weeks
  • MDL-89068 - Feedback: Replace text navigation in show responses view with icon pagination and sticky footer
  • MDL-88602 - Forum: Refine discussion page styling
  • MDL-88601 - Forum: Add "Go to all discussions" link to the sticky footer
  • MDL-88600 - Forum: Replace discussion navigation links with icon buttons
  • MDL-88599 - Forum: Replace subscription button with toggle switch

Assignment marking workflows improvements​

  • MDL-86007 - Marking workflows phase 2: Improved feedback handling (including separate marker feedback for multiple markers)
  • MDL-87709 - Marking workflows phase 3: Add basic sample marking for multiple markers

Constructive alignment (learning outcomes)​

  • MDL-89106 - Learning outcomes support: Project MVP
  • MDL-88881 - Make scales optional for learning outcomes
  • MDL-89334 - New page to view course learning outcomes and associated activities
  • MDL-89027 - Add backup/restore and import/export support to learning outcomes
  • MDL-89336 - Update "outcomes" strings to use the new "learning outcomes" terminology and improve user navigation flow

AI new features and improvements​

Quiz and Question bank​

  • MDL-82521 - Support due dates in quiz activity
  • MDL-61427 - Add option to delete questions when deleting a question category
  • MDL-86563 - Add question to quiz dialogue should remember the last question bank you used
  • MDL-74518 - Turn question bank delete question confirmation page into modal
  • MDL-73051 - Align question bank bulk actions UI with course bulk actions
  • MDL-88534 - Configurable quiz statistics delay
  • MDL-81096 - UI to filter the users shown in quiz reports
  • MDL-88729 - Better/consistent submission confirmation in quizzes
  • MDL-88440 - Add Safe Exam Browser configuration option to enable screen capturing
  • MDL-88998 - Add Safe Exam Browser manual configuration of maximum allowed displays setting

Report builder​

  • MDL-84635 - Add more time-related aggregations
  • MDL-88397 - Allow the datasource base to be SQL and not a single table
  • MDL-88785 - Improve performance/design of report audience/filter form loading
  • MDL-87404 - Change default report entity column to sortable
  • MDL-86781 - Add Criteria filter to badges report

TinyMCE text editor​

  • MDL-88618 - Enable Accordion and List Styles (advlist) bundled open-source plugins in TinyMCE
  • MDL-88547 - TinyMCE Premium: Add Markdown plugin support in Moodle LMS

Assignment​

  • MDL-74535 - Custom user field support for Assign Grading table
  • MDL-89022 - Pending grade feedback file uploads should disable submit buttons

Accessibility improvements​

  • MDL-89214 - Allow alt text when adding dropped images to a course page

Usability improvements​

  • MDL-70225 - Enhance Simple Global Search to match start of words instead of relying on exact terms
  • MDL-86597 - Course enrolment should support searching users' firstname/lastname in any order
  • MDL-89139 - User menu becomes too wide when a custom item has a long name
  • MDL-89098 - Custom login page image should centre like the default image
  • MDL-88194 - Login form helper icons
  • MDL-83615 - Importing XML grades should display more information on error

Other Highlights​

Functional changes​

  • MDL-64249 - Improve information about users' "not current" status information on Participants page
  • MDL-86393 - Improve subsection activity order logic
  • MDL-70533 - File upload should have a progress bar in the file manager
  • MDL-88886 - Backup file_logger should store relative paths
  • MDL-88575 - Add standard "Moodle download widget" for download options in Course Completion Report
  • MDL-88183 - Adapt forum tertiary navigation to be consistent with others
  • MDL-87449 - Update styling in "Show non-respondents" send notifications form for feedback responses
  • MDL-87373 - Enable BigBlueButton activity by default for new installs
  • MDL-85977 - Allow extensible list of safe BigBlueButton recording formats
  • MDL-85873 - Support BigBlueButton guest access when logged in

For administrators​

  • MDL-87859 - Make user profile variables (firstname, lastname) available to badge award notification strings
  • MDL-88366 - Allow scheduled tasks to execute without arg value
  • MDL-87313 - upgrade_log contains information on new installs and upgraded plugins but omits plugin uninstall information
  • MDL-86240 - Include name of plugin in report task name filter
  • MDL-89290 - Improve layout and display of notifications administration page
  • MDL-86422 - Prevent potential race condition when scheduling tasks (such as quiz statistics during exam)
  • MDL-85548 - Ability to run a scheduled task now, but async on the server
  • MDL-79127 - Improve the status, performance and security check reports by rendering them incrementally

Mobile​

  • MDL-88877 - Notify admins about Premium app usage limits
  • MDL-89302 - Add admin settings highlight to promote Premium mobile app features
  • MDL-89170 - Add a new feature on the "Disabled feature" setting to prevent the app from shortening text on mobile screens
  • MDL-89169 - Add two additional features in the mobile app disabled features setting to control the course navigation
  • MDL-88924 - New mobile app authentication setting to enable "Deep-linking with auto-login"
  • MDL-88867 - Add tool_mobile admin setting to show site logo in app header (showlogoinappheader)

Performance​

  • MDL-77760 - Asynchronous course deletion
  • MDL-87565 - Move core_environment check from status report to performance report

Security improvements​

  • MDL-89465 - Enable new login notifications by default and warn admins when not enabled
  • MDL-87010 - Improve login/token.php checks
  • MDL-86934 - Improve visibility and auditability of risks with roles

For developers​

  • MDL-88351 - Remove Classic theme from core
  • MDL-64304 - gradereport_user_get_grade_items should return "itemname" for categories
  • MDL-69724 - Add a mail filtering and mutation API
  • MDL-85847 - Add support for Symfony/Console for CLI Commands
  • MDL-89528 - Enable Container Injection via PHP Attributes
  • MDL-89296 - Provide a standard PHP API for mounting React components
  • MDL-89232 - Include FloatingUI as an available bundle
  • MDL-88938 - Improve extend_user_menu hook
  • MDL-88831 - Clarify PHP License v4 compatibility path for bundled PEAR QuickForm libraries
  • MDL-88762 - Convert heavily used AMD modules to ESM
  • MDL-88495 - Support being able to snapshot and upgrade PHPUnit databases to improve plugin CI / Github Actions performance
  • MDL-82650 - Migrate methods in user/lib.php to relevant locations

Improve extensibility of AI subsystem​

  • MDL-89357 - Use late static binding in AI actions base class
  • MDL-89123 - Normalise the DB action tables

OAuth 2 support for routed web services​

  • MDL-89251 - Create backend OAuth 2 Server implementation
  • MDL-89181 - Implement OAuth 2 Server client manager class
  • MDL-88580 - Centralise the existing web service validation into a new \core_auth\validate_user class
  • MDL-88576 - Create API to check if Composer dependencies are installed
  • MDL-88562 - Add support for Swagger oauth2RedirectUrl
  • MDL-88473 - Implement token revocation endpoints and logic
  • MDL-88472 - Create user interface for OAuth 2 login flows
  • MDL-88468 - Create user interface for OAuth 2 server and client management
  • MDL-87706 - Create user interface for OAuth 2 personal access tokens

Web service additions and updates​

  • MDL-89346 - Allow obtaining multiple markers feedback via web services
  • MDL-86513 - Add web service for creating assignment overrides
  • MDL-87887 - New Web Service for setting a forum post read state when manual mark as read is enabled

Deprecations​

  • MDL-81225 - Deprecate old \external_* classes
  • MDL-83231 - Deprecate FEATURE_GROUPMEMBERSONLY

Component API updates​