Iñigo Zendegi [Thu, 4 Dec 2025 06:00:32 +0000 (07:00 +0100)]
MDL-87396 mod_assign: Add availability check to notifications
Paul Holden [Fri, 30 Jan 2026 10:05:42 +0000 (10:05 +0000)]
MDL-87807 availability_grade: ensure required library is loaded.
Changes from
8cf9b221 introduced usage of a non-autoloaded class, so
we should be resilient and ensure the library in which it resides is
always loaded.
Huong Nguyen [Fri, 30 Jan 2026 08:38:55 +0000 (15:38 +0700)]
weekly release 5.2dev
Huong Nguyen [Fri, 30 Jan 2026 08:38:55 +0000 (15:38 +0700)]
NOBUG: Add upgrade notes
Huong Nguyen [Fri, 30 Jan 2026 08:38:41 +0000 (15:38 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Andrew Nicols [Fri, 30 Jan 2026 07:01:05 +0000 (15:01 +0800)]
MDL-87713 core: Switch to moodle/moodle-testing package for phpunit/behat
This ensures that the same set of dependencies are installed for both a
regular Moodle install, and a Composer-based install.
Andrew Nicols [Fri, 30 Jan 2026 05:06:10 +0000 (13:06 +0800)]
NOBUG: Bump composer.lock
Huong Nguyen [Thu, 29 Jan 2026 04:04:03 +0000 (11:04 +0700)]
Merge branch 'MDL-87521' of https://github.com/timhunt/moodle
Huong Nguyen [Thu, 29 Jan 2026 04:01:16 +0000 (11:01 +0700)]
Merge branch 'MDL-87087-main' of https://github.com/lameze/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:58:12 +0000 (10:58 +0700)]
Merge branch 'MDL-86994-main' of https://github.com/mioyu-ubiq/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:54:53 +0000 (10:54 +0700)]
Merge branch 'MDL-87018-main' of https://github.com/bhect0/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:46:21 +0000 (10:46 +0700)]
Merge branch 'MDL-87104' of https://github.com/paulholden/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:41:22 +0000 (10:41 +0700)]
Merge branch 'MDL-87323' of https://github.com/paulholden/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:38:42 +0000 (10:38 +0700)]
Merge branch 'MDL-86988' of https://github.com/paulholden/moodle
Huong Nguyen [Thu, 29 Jan 2026 03:32:08 +0000 (10:32 +0700)]
Merge branch 'MDL-85233-main' of https://github.com/yusufwib01/moodle
Paul Holden [Wed, 28 Jan 2026 16:32:17 +0000 (16:32 +0000)]
MDL-87714 customfield_number: upgrade note for recalculate parameters.
Paul Holden [Wed, 28 Jan 2026 16:08:22 +0000 (16:08 +0000)]
Merge branch 'MDL-87714-main' of https://github.com/sebastsg/moodle
Amaia Anabitarte [Wed, 28 Jan 2026 15:29:33 +0000 (16:29 +0100)]
Merge branch 'MDL-87616-main' of https://github.com/sarjona/moodle
Amaia Anabitarte [Wed, 28 Jan 2026 15:13:12 +0000 (16:13 +0100)]
Merge branch 'MDL-86862-main' of https://github.com/laurentdavid/moodle
Paul Holden [Wed, 28 Jan 2026 14:45:06 +0000 (14:45 +0000)]
Merge branch 'MDL-87736' of https://github.com/yerairogo/moodle
Paul Holden [Wed, 28 Jan 2026 14:38:34 +0000 (14:38 +0000)]
MDL-87059 customfield: upgrade note regarding shortname uniqueness.
Paul Holden [Wed, 28 Jan 2026 14:26:13 +0000 (14:26 +0000)]
Merge branch 'MDL-87059-main' of https://github.com/dravek/moodle
Paul Holden [Wed, 28 Jan 2026 14:16:25 +0000 (14:16 +0000)]
Merge branch 'MDL-87437-main' of https://github.com/tasiobg/moodle
Sara Arjona [Wed, 28 Jan 2026 09:36:20 +0000 (10:36 +0100)]
Merge branch 'MDL-87301-main' of https://github.com/laurentdavid/moodle
Jun Pataleta [Wed, 28 Jan 2026 08:17:39 +0000 (16:17 +0800)]
Merge branch 'MDL-86639-main' of https://github.com/yusufwib01/moodle
Sara Arjona [Wed, 28 Jan 2026 07:21:06 +0000 (08:21 +0100)]
Merge branch 'MDL-87304-main' of https://github.com/laurentdavid/moodle
Ilya Tregubov [Wed, 28 Jan 2026 06:43:09 +0000 (08:43 +0200)]
Merge branch 'MDL-87135' of https://github.com/paulholden/moodle
Sara Arjona [Tue, 27 Jan 2026 12:10:52 +0000 (13:10 +0100)]
Merge branch 'MDL-87621-main' of https://github.com/sarjona/moodle
Sara Arjona [Tue, 27 Jan 2026 11:48:52 +0000 (12:48 +0100)]
Merge branch 'MDL-87263' of https://github.com/paulholden/moodle
Jun Pataleta [Tue, 27 Jan 2026 07:09:21 +0000 (15:09 +0800)]
Merge branch 'MDL-84988_main' of https://github.com/marxjohnson/moodle
Paul Holden [Thu, 29 Jan 2026 15:56:24 +0000 (15:56 +0000)]
MDL-87799 sms: move description attribute into core namespace.
Daniel Ureña [Fri, 14 Nov 2025 09:53:46 +0000 (10:53 +0100)]
MDL-87185 block_site_main_menu: Add required library
fgo [Thu, 2 Oct 2025 09:02:48 +0000 (11:02 +0200)]
MDL-86437 enrol_lti: Cast scoreGiven to float for LTI compliance
scoreGiven was being passed as a string (e.g. "8.0"), which caused
validation errors in some LMS implementations such as Rustici Engine.
According to the LTI specification, scoreGiven must be numeric if
present.
Co-authored-by: Jake Dallimore <jake@moodle.com>
Jake Dallimore [Thu, 29 Jan 2026 05:13:59 +0000 (13:13 +0800)]
MDL-87789 libraries: patch lti1p3 for certification support
https://github.com/packbackbooks/lti-1-3-php-library/issues/169 blocks
us from using the new build.1edtech certification tooling. This issue
commits that fix as a library customisation/hack for stables, so the
suite can be used for annual/bi-annual re-certification.
Angelia Dela Cruz [Wed, 14 Jan 2026 07:18:03 +0000 (15:18 +0800)]
MDL-87087 tool_dataprivacy: Test data request by authorized user
AMOS bot [Thu, 29 Jan 2026 00:07:52 +0000 (00:07 +0000)]
Automatically generated installer lang files
Helen Foster [Mon, 26 Jan 2026 20:55:43 +0000 (21:55 +0100)]
MDL-87593 lang: Import fixed English strings (en_fix)
Tim Hunt [Tue, 1 Oct 2024 12:38:41 +0000 (13:38 +0100)]
MDL-83325 filepicker: tidy up display of restrictions
Paul Holden [Mon, 29 Dec 2025 15:40:27 +0000 (15:40 +0000)]
MDL-87158 tool_xmldb: make generated code to rename field idempotent.
Consistent with similar DDL structure change code generated by this tool,
and allows for upgrade steps to be replayed without errors.
Sara Arjona [Fri, 16 Jan 2026 15:13:45 +0000 (16:13 +0100)]
MDL-87616 book: Modernise navigation buttons
Tim Hunt [Mon, 22 Dec 2025 19:45:01 +0000 (19:45 +0000)]
MDL-87521 behat: better error reporting if an adhoc task fails
Yerai Rodríguez [Thu, 22 Jan 2026 15:11:26 +0000 (16:11 +0100)]
MDL-87736 customfield: Retrieve instances data using component and area
Laurent David [Thu, 11 Dec 2025 10:00:15 +0000 (11:00 +0100)]
MDL-87301 theme_boost: Adapt sticky footer width
* Adapt sticky footer with to take into account left and right drawers
* Sticky footer will now be below the drawer and its content between
the drawers.
Sebastian Gundersen [Mon, 26 Jan 2026 12:15:02 +0000 (13:15 +0100)]
MDL-87714 customfield: Add component/area to field number provider
Fixes ambiguous instances when using shared custom fields.
The component and area parameters are now used to get the proper handler.
mioyu-ubiq [Tue, 20 Jan 2026 05:51:38 +0000 (13:51 +0800)]
MDL-86994 mod_assign: Behat to test permitted users can edit submission
Hai Nguyen Van [Thu, 15 Jan 2026 07:37:20 +0000 (07:37 +0000)]
MDL-87675 core: Add delay for displaying the YUI alert dialogue message
* Add a slight delay for displaying the message content of the YUI
alert dialogue's ARIA live container to allow screen readers to
announce the alert message accordingly.
Yusuf Wibisono [Mon, 22 Dec 2025 19:58:03 +0000 (02:58 +0700)]
MDL-85233 filter: Remove MimeTeX support and use LaTeX for TeX/algebra
This commit removes MimeTeX support from both filter_tex and filter_algebra,
requiring LaTeX tools (latex, dvips, convert/dvisvgm) for rendering. It also
makes filter_algebra fully independent from filter_tex with its own configuration
settings
Mark Johnson [Thu, 8 Jan 2026 13:48:51 +0000 (13:48 +0000)]
MDL-87606 backup: Include child questions in backups
Since MDL-41924, because we are not always including the whole category
of each question being used in a backup, we have been missing some child
questions.
This expands the query selecting questions belonging to categories
where only annotated questions are being included, to also select any
children of those questions.
Laurent David [Tue, 30 Dec 2025 08:26:33 +0000 (09:26 +0100)]
MDL-87304 mod_data: Use saveandview instead of "Save"
* As we switched "Save and add another " and "Save", Behat will click on the first
"SaveXXXX" button, and go to edit page again for a new entry. Where we were expecting
to be back to the view page.
Laurent David [Mon, 29 Dec 2025 11:43:01 +0000 (12:43 +0100)]
MDL-87304 mod_data: Fix behat tests
Laurent David [Mon, 29 Dec 2025 09:24:59 +0000 (10:24 +0100)]
MDL-87304 mod_data: Remove sticky footer other usages
* Remove sticky footer in presets, import, templates and field pages
Laurent David [Mon, 29 Dec 2025 09:24:18 +0000 (10:24 +0100)]
MDL-87304 mod_data: Remove sticky footer in view/edit
* Move pagination at the bottom of the view
* Move edit save button at the bottom of the form
Paul Holden [Tue, 30 Dec 2025 09:19:22 +0000 (09:19 +0000)]
MDL-86659 enrol_flatfile: remove spurious get_config parameters.
Paul Holden [Tue, 4 Nov 2025 17:24:14 +0000 (17:24 +0000)]
MDL-87104 message: remove border from contact request sent profile info.
Raquel Ortega [Sun, 18 Jan 2026 15:34:15 +0000 (16:34 +0100)]
MDL-87289 mod_forum: Disable mediaplugin filter in emails
Niko Hoogeveen [Mon, 26 Jan 2026 16:18:22 +0000 (11:18 -0500)]
MDL-84966 core_question: Updated question bank tag filter
Fixes a bug where filtering questions by tag the 'NONE'
option was not being respected. Automated testing was also added
to cover tag filtering conditions in the question bank
Paul Holden [Fri, 3 Oct 2025 11:17:44 +0000 (12:17 +0100)]
MDL-81441 tiny_media: broaden content search for used draft files.
Changes in
47f9106c (upon which this code is based) assumed used files
were always enclosed within quote marks. However this isn't the case
for embedded H5P files which output the filepath directly and rely on
subsequent filtering to turn into appropriate markup.
Huong Nguyen [Mon, 26 Jan 2026 09:19:33 +0000 (16:19 +0700)]
Merge branch 'MDL-87528-main' of https://github.com/yusufwib01/moodle
Huong Nguyen [Mon, 26 Jan 2026 09:10:27 +0000 (16:10 +0700)]
Merge branch 'MDL-87527-main' of https://github.com/yusufwib01/moodle
Amaia Anabitarte [Thu, 22 Jan 2026 12:04:12 +0000 (13:04 +0100)]
MDL-87658 ai_placement: Add 'ai_visibility_hint' to moodle_page
'ai_visibility_hint' property indicates whether AI-related
UI elements are preferred to be shown on a given page.
This value acts as an advisory hint only.
It does not enforce the visibility of AI-related UI elements globally
Huong Nguyen [Mon, 26 Jan 2026 08:32:05 +0000 (15:32 +0700)]
Merge branch 'MDL-84862-main-test' of https://github.com/yusufwib01/moodle
Huong Nguyen [Mon, 26 Jan 2026 07:25:50 +0000 (14:25 +0700)]
Merge branch 'MDL-87525-main' of https://github.com/yusufwib01/moodle
David Carrillo [Fri, 23 Jan 2026 07:12:49 +0000 (08:12 +0100)]
MDL-87059 customfield: Check if custom field shortname is unique
- If is a shared field check that shortname does not exist anywhere.
- If is an entity field check that the shortname does not exist
within the same entity fields or in the shared fields.
Sara Arjona [Wed, 21 Jan 2026 07:28:19 +0000 (08:28 +0100)]
MDL-87621 subsection: Update cleanup links in settings page
Sara Arjona [Wed, 21 Jan 2026 07:08:02 +0000 (08:08 +0100)]
MDL-87621 subsection: Add task to remove subsection descriptions
Sara Arjona [Mon, 19 Jan 2026 10:57:55 +0000 (11:57 +0100)]
MDL-87621 subsection: Fix automated tests to include summary field
Sara Arjona [Mon, 19 Jan 2026 10:54:53 +0000 (11:54 +0100)]
MDL-87621 subsection: Avoid descriptions to be restored
Sara Arjona [Wed, 21 Jan 2026 07:35:16 +0000 (08:35 +0100)]
MDL-87621 subsection: Add API method to clear descriptions
Sara Arjona [Mon, 19 Jan 2026 10:56:09 +0000 (11:56 +0100)]
MDL-87621 subsection: Add summary support to the generator
Laurent David [Mon, 8 Dec 2025 10:51:50 +0000 (11:51 +0100)]
MDL-86862 core_courseformat: Remove uses of move_section
Laurent David [Fri, 14 Nov 2025 14:14:22 +0000 (15:14 +0100)]
MDL-86862 core_course: Add sectionactions::moveafter
Huong Nguyen [Mon, 26 Jan 2026 03:38:36 +0000 (10:38 +0700)]
weekly release 5.2dev
Huong Nguyen [Mon, 26 Jan 2026 03:38:35 +0000 (10:38 +0700)]
NOBUG: Add upgrade notes
Huong Nguyen [Mon, 26 Jan 2026 03:38:20 +0000 (10:38 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Huong Nguyen [Mon, 26 Jan 2026 03:24:58 +0000 (10:24 +0700)]
NOBUG: Fix upgrade notes
Héctor Benedicte [Tue, 4 Nov 2025 17:56:37 +0000 (18:56 +0100)]
MDL-87018 qtype_essay: Add unit tests for un_summarise_response().
Andrew Nicols [Fri, 23 Jan 2026 04:11:05 +0000 (12:11 +0800)]
MDL-87648 core: Ignore optional environment checks
AMOS bot [Fri, 23 Jan 2026 00:08:10 +0000 (00:08 +0000)]
Automatically generated installer lang files
Mark Johnson [Fri, 5 Dec 2025 09:48:40 +0000 (09:48 +0000)]
MDL-84988 qbank_managecategories: Make categories collapsible
Safat [Thu, 22 Jan 2026 04:39:33 +0000 (15:39 +1100)]
Merge branch 'MDL-86527-main' of https://github.com/HuongNV13/moodle
Huong Nguyen [Thu, 22 Jan 2026 04:02:37 +0000 (11:02 +0700)]
Merge branch 'MDL-87188' of https://github.com/paulholden/moodle
Adrian Greeve [Thu, 22 Jan 2026 03:56:02 +0000 (11:56 +0800)]
Merge branch 'MDL-87648-main' of https://github.com/andrewnicols/moodle
Huong Nguyen [Thu, 22 Jan 2026 03:52:48 +0000 (10:52 +0700)]
Merge branch 'MDL-87317-main' of https://github.com/lucaboesch/moodle
Huong Nguyen [Thu, 22 Jan 2026 03:46:14 +0000 (10:46 +0700)]
Merge branch 'MDL-87318-main' of https://github.com/lucaboesch/moodle
Huong Nguyen [Thu, 22 Jan 2026 03:44:11 +0000 (10:44 +0700)]
Merge branch 'MDL-86797' of https://github.com/paulholden/moodle
Huong Nguyen [Thu, 22 Jan 2026 03:36:37 +0000 (10:36 +0700)]
Merge branch 'MDL-87092-main' of https://github.com/Kredelirious/moodle
Huong Nguyen [Thu, 22 Jan 2026 03:32:19 +0000 (10:32 +0700)]
Merge branch 'MDL-87090-main' of https://github.com/lameze/moodle
Andrew Nicols [Wed, 14 Jan 2026 05:57:37 +0000 (13:57 +0800)]
MDL-87648 core: Support multiple tests within a check
Andrew Nicols [Tue, 13 Jan 2026 13:19:11 +0000 (21:19 +0800)]
MDL-87648 router: Add check report data for router configuration
Jun Pataleta [Thu, 22 Jan 2026 00:32:55 +0000 (08:32 +0800)]
Merge branch 'MDL-86136_main' of https://github.com/marxjohnson/moodle
Jun Pataleta [Thu, 22 Jan 2026 00:22:55 +0000 (08:22 +0800)]
Merge branch 'MDL-87478_main' of https://github.com/mohdtahseen1/moodle
yusufwib01 [Wed, 21 Jan 2026 17:20:33 +0000 (00:20 +0700)]
MDL-87543 hub: Registration collect defaulthomepage data
Jun Pataleta [Thu, 22 Jan 2026 00:10:59 +0000 (08:10 +0800)]
Merge branch 'MDL-87517-main' of https://github.com/roland04/moodle
Amaia Anabitarte [Wed, 21 Jan 2026 14:36:16 +0000 (15:36 +0100)]
Merge branch 'MDL-87281-main' of https://github.com/sarjona/moodle
Sara Arjona [Mon, 12 Jan 2026 13:48:33 +0000 (14:48 +0100)]
MDL-87281 subsection: Add description cleanup links to settings page
Sara Arjona [Tue, 13 Jan 2026 17:10:57 +0000 (18:10 +0100)]
MDL-87281 output: Support custom title and danger for confirm_action
Sara Arjona [Tue, 23 Dec 2025 10:38:58 +0000 (11:38 +0100)]
MDL-87281 course: Add task to migrate subsection descriptions
Muhammad Arnaldo [Mon, 12 Jan 2026 15:38:26 +0000 (22:38 +0700)]
MDL-87542 dashboard: Move calendar block to the side drawer
By default the calendar block will exist in the
right hand side drawer instead of in the main region.
Mark Johnson [Mon, 12 Jan 2026 10:33:10 +0000 (10:33 +0000)]
MDL-86136 question: Amend version restore test
Restoring a whole course will now restore the backed-up questions to a
new qbank instance. This means the test to restore versions was not
restoring the deleted versions to the original question bank entires,
but to a new question bank entry in the new qbank.
Updating the test to just backup and restore the quiz resolves this.
Mark Johnson [Fri, 7 Nov 2025 14:01:50 +0000 (14:01 +0000)]
MDL-86136 qbank: Restore entire activity when it is in the backup
When restoring a backup containing a question bank, we were always
trying to match questions to an existing category on the target course
if once existed. This meant that when duplicating a qbank on the same
course, or importing the same qbank to another course multiple times,
only one of the restored qbanks would end up with questions in it.
This adds a mechanism to record any activities in the backup which
support `FEATURE_PUBLISHES_QUESTIONS`. Then when we restore the
questions, we check if we will be restoring the original activity they
belong to, and skip trying to match them to an existing category. This
means a new copy of each question will be created, and moved to the new
copy of the qbank once it is created.