Moodle LMS 4.5.2
11 February 2025
Moodle LMS version 4.5.2 is now available (security release).
Upgrading to Moodle LMS 4.5.2
Moodle LMS 4.5.2 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Moodle LMS updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Moodle LMS install to test the 4.5.2 upgrade prior to applying it live. Get started managing your Moodle LMS installations with Installatron
What's New in Moodle LMS 4.5.2
4.5.2
Security
- 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.
Bug Fixes and Changes
- Question bank: "Show questions from subcategories" no longer remembered as a user preference
- Legacy random question filter conditions break random question on upgrade
- Courses restored miss due/closing dates for several activity types in Calendar and other blocks
- Admins should be prevented from defining a proxybypass value that is not valid
- Form help icons do not close when clicking elsewhere
- Tcpdf error: [image] unable to get the size of the image
- Tag list does not load when switching categories in filter
- Iframes not visible when using TinyMCE to insert the code
- Delete question version confirmation does not make it clear which version is being deleted
- Weekly format does not handle daylight savings time - Spring and Fall
- \moodle_database can have a null value from DI
- Quiz: "See questions" for Random question does not use all filters
- Question bank: Newly created questions should be added to selected category
- Custom menu item pointing to external site is highlighted as active by mistake
- MathML and SVGs are stripped out by TinyMCE
- Cannot edit file with access controlled link to MS OneDrive repo
- PHP 8 error when disk_free_space function is disabled
- UI of result chart in Choice is broken
- Competency "Configure scales" dialog contains confusing action buttons
- Action menu in the database preset displayed under the sticky footer
- Doubled-up user tour content when using "Show with backdrop"
- Links to the question history page may include the wrong (or no) category ID, leading to a blank page
- Warning of missing property in export of multianswer questions
- TinyMCE is more strict than Atto for onclick JavaScript action (Backport of MDL-80953)
- Setting up MFA breaks the return URL for the SMS edit form
- Toggling activity done does not update the course index
- Maxgradesperpage is not configurable
- Column "questionscontextid" in mdl_question_set_references does not update when filter conditions are changed
- In Glossary pending approval view, the "By last update" and "By creation date" sorting order UI elements do not react
- Clicking "Reset columns" on the Question history page gives a confusing result
- User search: Result fields incomplete when using custom alternativefullnameformat
- Quiz questions layout makes it difficult to see which choices are grouped together
- Quiz/Add questions from question bank: Clicking on Question Tags throws error
- Matrix integration makes incorrect assumptions about user ID format
- Encode and decode permalinks for the new course section page
- RecordRTC displays an error notification if there is a failure while recording audio
- Multi-factor TOTP plugin setup does not format site name properly
- Remove endorsement from badge JSON
- Inconsistent capability checks for enabling badges causes error
- Default pre-uploaded presentation is shown to users, but not accessible
- Imported glossary entries are treated as un-trusted
- Assignment/Grant attempts default setting page does not allow "Automatically"
- URLs generated by getExternalTestFileUrl() now contain double forward slash
- Group drag and drop onto image question "Draggable items section" option fields together
- Collapsible sections can conflict and trigger each other
- Course index label links broken in plugins
- Assignment notification helper incorrectly checks for assignment submissions
- get_course_progress_percentage function not performing well in courses with many modules
- BigBlueButton activities are not sorted consistently on activity index
- Comment element icons are broken/missized
- Max sections limit error message does not show number of sections
- Confusing course management category icons
- Logout icon is shown in filepicker when searching server files
- Audio recording has no file extension
- Drag-drop upload area breaks if you drop a file outside any filemanager
- MFA factor subplugins unable to properly define admin_externalpage links
- Changing the number of grades per page in grader report does not redirect to a valid URL
- Brickfield's img_alt_is_too_long check can fail for multibyte alt texts
- Remove git diffs for JavaScript maps, minified JavaScript, and similar
- Insert content dropdowns in Course page all have the same ID (dropdownMenuButton)
- No homepage link available on smaller devices
- Login border-radius not rounded on narrow screens
Accessibility
- Add consistency in all aria-labels in the Classic theme navbar
- WCAG Best practice: Main landmark must not be contained in another landmark
- Modal focus lock does not quite follow WAI/ARIA pattern
4.5.1
Security
- MDL-82809 - Ensure profile field conditions always apply in custom reports
- 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.
Bug Fixes and Changes
- Quiz Description is missing with SEB option
- Block drawer closes immediately when focus is shifted to an input field in mobile browsers
- In secure layout, the user picture in the quiz navigation should not link to the course profile
- Quiz activity name no longer being displayed in quiz landing page when using Safe Exam Browser
- The reactive debug panel does not log a transaction if events fired are exactly the same as the previous ones
- Question bank filteroptions "show questions from subcategories": value not updated on page reload
- Course Participant Logs show no data when course is in group mode
- Custom fields - Restore Course Backup Cannot Be Completed
- Email from forum post with attachments renders incorrectly on email
- MFA Token can easily be accidentally resubmitted
- Autocomplete suggestions inside modal forms are not visible
- Accessibility toolkit: Unexpected "Tables ideally should not be missing headers"
- columnsortorder error when trying to access the question bank
- Assign user roles to cohort: cannot choose cohort in category level
- OpenAI provider configured check should not require organization ID
- mod_data: Export with user data fails for deleted users
- Quiz intro page (view.php) should be added to the ones not cached in the user's browser
- SQL error due to undocumented behaviour change in sort parameter
- Missing function core_ai\provider::is_request_allowed
- Course enrolment uses non-translatable role shortname in welcome message
- File picker does not reload contents when a wrong file type is submitted
- Updating Matrix course name to empty does not update room name back to course name
- Help boxes not accessible if selected consecutively
- mod_data: Unknown format passed to format_text
- LTI: Attempting to parse multiple keys missing alg parameter still results in exception during JWT decoding
- Incorrect URL encoding for text customfield link fields
- Drag & drop zip file in course section uses a modal form with wrong field IDs
- System notification navbar popover is misplaced
- Course index includes "undefined" when multiple sections are added in another session
- availability_group: With hidden groups, can throw warning
- report_log: Group filter unnecessarily fetches list of all users in system
- The move icon overlaps the text when rearranging activities in the Social Activities block
- Course index not updated after group restriction change
- The move section dialogue box renders HTML in the information message as visible text
- X-Sendfile Function Fails with Special Characters in File Names on Nginx
- User profile field shortname uniqueness is evaluated case insensitive
- Not possible to set default backup settings for course custom fields
- Label in course index cannot be opened in new tab from activity pages
- Dropping files in the course page using Chrome 130.0 in Linux is not working
- Exception on feedback "Show non-respondents"
- Search: Indexing can miss items due to race condition
- Wrong month cases in the calendar - %B format
- Stop loading subplugins.json unnecessarily
- File manager: JavaScript errors not reported to the user when deleting a file
- The notification popover remains visible after two or more clicks on the same dropdown menu
- Misconfigured selectors for "aiplacement_courseassist"
- Incorrect Help Text: Azure AI API Provider
- When moving blocks the loading indicator is appearing very large on the screen
- Can't enter brace character { in TinyMCE
- Question bank: if you have multiple pages of questions, and delete enough questions in one go so that it should display a single page, it errors
- Analytics: Upgrade can break if core module is deleted
- Manual enrolment course welcome message role placeholder always displays "student"
- Modal does not execute JavaScript from template
- Accessibility Toolkit: ignore fontawesome icon tags as italic accessibility errors
- Calculated font sizes can cause an error in the Brickfield's css_text_has_contrast check
- JavaScript error popup (Notification.exception) incorrectly sized/positioned on Mobile
Accessibility improvements
- Text within the inline <code> tags have poor contrast
- Bug on tab navigation for recommended activities in activitychooser
- Checkboxes in the database activity's list view don't have an accessible label