Mark Johnson [Fri, 28 Nov 2025 11:01:21 +0000 (11:01 +0000)]
MDL-87287 qbank_tagquestion: Remove all tags from deleted questions
When we deleted a question, we were including the userid of the user who
performed the delete when checking for question tags. This means that if
user A tagged the question, and user B deleted the question, it might
leave the tags behind.
This fixes the issue by deleting tags regardless of the user, and adds
an upgrade step to find and remove orphaned tag instances.
Tasio [Tue, 9 Dec 2025 11:39:33 +0000 (12:39 +0100)]
MDL-87437 course: Make course cached image entries domain-agnostic
Yusuf Wibisono [Thu, 8 Jan 2026 09:48:39 +0000 (16:48 +0700)]
MDL-87527 admin: New installs enable email login by default
Luca Bösch [Tue, 18 Nov 2025 10:46:23 +0000 (11:46 +0100)]
MDL-87229 course: Show nice "Other users" table in courses.
Jayce Birrell [Thu, 20 Nov 2025 00:22:55 +0000 (10:52 +1030)]
MDL-50364 forms: calendar header renderer uses translated months
Angelia Dela Cruz [Thu, 4 Dec 2025 04:41:36 +0000 (12:41 +0800)]
MDL-87088 core_grades: Behat to view grades from user menu
Huong Nguyen [Fri, 9 Jan 2026 01:40:59 +0000 (08:40 +0700)]
weekly release 5.2dev
Huong Nguyen [Fri, 9 Jan 2026 01:40:58 +0000 (08:40 +0700)]
NOBUG: Add upgrade notes
Huong Nguyen [Fri, 9 Jan 2026 01:40:32 +0000 (08:40 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Jun Pataleta [Wed, 3 Dec 2025 11:52:21 +0000 (19:52 +0800)]
MDL-85535 forum: Render discussion navigation at the bottom only
Jun Pataleta [Wed, 3 Dec 2025 11:50:41 +0000 (19:50 +0800)]
MDL-85535 forum: Label discussion navigation
Marty [Wed, 10 Sep 2025 19:19:56 +0000 (15:19 -0400)]
MDL-86423 mod_assign: Reduce duesoon/overdue notifications.
Students shouldn't receive overdue notifications if there is nothing to
submit in Moodle.
Students shouldn't receive due soon notifications if they a) already
have a grade or b) meet activity completion status.
Paul Holden [Tue, 11 Nov 2025 11:29:03 +0000 (11:29 +0000)]
MDL-87120 course: observe activity dates display in course requests.
Upgrade step to ensure the default value for this field in the schema
matches the default value used in the interface itself.
Paul Holden [Wed, 7 Jan 2026 14:27:44 +0000 (14:27 +0000)]
MDL-87608 javascript: fix public paths in generated jsconfig file.
This partly reverts changes from
31335206, removing the double public/
directory component of the file paths.
Mikel Martín [Fri, 12 Dec 2025 14:42:02 +0000 (15:42 +0100)]
MDL-87444 reportbuilder: Fix button icons UI
Mikel Martín [Mon, 15 Dec 2025 16:17:34 +0000 (17:17 +0100)]
MDL-87444 core: Add 'extraclasses' param to drag_handle
Add new 'extraclasses' parameter to drag_handle template. That will help
to customise the button sizing and extra styles.
Mikel Martín [Fri, 12 Dec 2025 14:15:08 +0000 (15:15 +0100)]
MDL-87444 theme_boost: Adjust icon sizes
The iconsizes map value `1` was extremely small and unusable, so values `1` and `2` have been
updated to provide usable icon sizes in the UI.
Safat [Wed, 7 Jan 2026 05:27:09 +0000 (16:27 +1100)]
Merge branch 'MDL-87406-main' of https://github.com/ericmerrill/moodle
Safat [Wed, 7 Jan 2026 05:15:39 +0000 (16:15 +1100)]
Merge branch 'MDL-67733-main' of https://github.com/HuongNV13/moodle
Andrew Nicols [Wed, 7 Jan 2026 05:07:41 +0000 (13:07 +0800)]
Merge branch 'MDL-82284-main' of https://github.com/meirzamoodle/moodle
Jun Pataleta [Wed, 7 Jan 2026 03:18:18 +0000 (11:18 +0800)]
Merge branch 'MDL-86436-navigation-accessibility-page-heading-menu-visible-on-larger-screens-even-if-empty' of https://github.com/stopfstedt/moodle
Jun Pataleta [Wed, 7 Jan 2026 03:14:05 +0000 (11:14 +0800)]
Merge branch 'MDL-87416-glossary-entry-page-title-missing' of https://github.com/stopfstedt/moodle
Santosh Nagargoje [Wed, 29 Oct 2025 17:29:52 +0000 (22:59 +0530)]
MDL-83984 core: Fixed subpanel show/hide issue
Martin Gauk [Mon, 18 Aug 2025 16:00:38 +0000 (18:00 +0200)]
MDL-86342 mod_assign: Allow subplugins to backup data at activity-level
Muhammad Arnaldo [Mon, 5 Jan 2026 03:43:10 +0000 (10:43 +0700)]
MDL-86346 core: update the use of ArrayLoader namespace
The Mustache library just got updated to version 3 recently.
The changes include update to psr-4. Hence, we update
the call to the class ArrayLoader.
Adrian Greeve [Tue, 6 Jan 2026 01:04:49 +0000 (09:04 +0800)]
Merge branch 'MDL-87526-main' of https://github.com/andrewnicols/moodle
Stefan Topfstedt [Sat, 6 Dec 2025 00:22:06 +0000 (16:22 -0800)]
MDL-87416 glossary: set page title on glossary entry details page.
Mark Johnson [Mon, 5 Jan 2026 11:28:50 +0000 (11:28 +0000)]
MDL-85431 questions: Fix access checks on Question banks page
Users who could not manage activities on a course, but did have
permission to access particular question banks, could not access the
Question banks page.
This modifies the permission checks on that page to allow access if the
user can either manage activities, or has access to at least one
activity that publishes questions. Some additional changes to the output
were required to prevent non-editing users adding banks.
It also modifies the navigation hook to add the Question banks
navigation node if the user can access any activitiy that publishes
questions on the course. This is all based on cached modinfo and
permissions data so should remain performant.
Paul Holden [Mon, 5 Jan 2026 14:24:30 +0000 (14:24 +0000)]
Merge branch 'MDL-87529' of https://github.com/yerairogo/moodle
Paul Holden [Mon, 5 Jan 2026 10:09:25 +0000 (10:09 +0000)]
MDL-87251 tool_uploadcourse: update scenarios for self-enrol title.
Paul Holden [Mon, 5 Jan 2026 09:59:59 +0000 (09:59 +0000)]
Merge branch 'MDL-87251-main' of https://github.com/roland04/moodle
Paul Holden [Mon, 5 Jan 2026 09:46:51 +0000 (09:46 +0000)]
Merge branch 'MDL-87288-main' of https://github.com/ilyatregubov/moodle
AMOS bot [Sat, 3 Jan 2026 00:08:09 +0000 (00:08 +0000)]
Automatically generated installer lang files
Mark Johnson [Tue, 18 Nov 2025 14:10:22 +0000 (14:10 +0000)]
MDL-73602 questions: Remove qtype_random
Mark Johnson [Wed, 19 Nov 2025 16:34:17 +0000 (16:34 +0000)]
MDL-73602 quiz: Remove all qtype_random references
This removes the use of the "random" qtype for random questions from the
quiz module. Instead, the quiz structure now idenfies slots containing
random questions using a `random` boolean field on the slot.
This includes some amendments to statistics classes in the core_question
namespace, as they ultimately get their question data from
mod/quiz/report/reportlib.php
It also introduces a proper (if limited) way to add random questions in
behat tests.
Mark Johnson [Tue, 18 Nov 2025 16:32:39 +0000 (16:32 +0000)]
MDL-73602 quiz: Restore random tag filters to new format
As we are now creating set references using the modern filtercondition
format, this ensures legacy tag filters are also converted directly to
the new format.
We no longer need the tag name as part of this, only the ID, so we have
factored the name out of `process_quiz_slot_tags`.
Andrew Nicols [Tue, 25 Jun 2024 01:55:46 +0000 (09:55 +0800)]
MDL-82284 core: Remove all PHP5 constructors
meirzamoodle [Thu, 25 Dec 2025 04:09:57 +0000 (11:09 +0700)]
MDL-87423 core: Remove the deprecated functions
James C [Tue, 30 Dec 2025 04:38:46 +0000 (17:38 +1300)]
MDL-85530 course: Improve PHPDoc types for course format code
James C [Tue, 30 Dec 2025 04:37:37 +0000 (17:37 +1300)]
MDL-86959 course: Improve PHPDoc types for course code
Sara Arjona [Mon, 29 Dec 2025 13:51:30 +0000 (14:51 +0100)]
Merge branch 'MDL-87280-main' of https://github.com/sarjona/moodle
Huong Nguyen [Mon, 29 Dec 2025 06:51:34 +0000 (13:51 +0700)]
Merge branch 'MDL-81882-main' of https://github.com/yusufwib01/moodle
Huong Nguyen [Mon, 29 Dec 2025 06:45:41 +0000 (13:45 +0700)]
Merge branch 'MDL-86346-main' of https://github.com/muhammadarnaldo/moodle
Matt Porritt [Fri, 14 Mar 2025 04:13:51 +0000 (15:13 +1100)]
MDL-84862 AI: Stop provider instance creataion when no provider plugins
Prevents calls to action to create an AI provider instance from
being displayed to users when there are no AI provider plugins
installed in the instance.
Co-Authored-By: Yusuf Wibisono <yusuf.wibisono@moodle.com>
Muhammad Arnaldo [Mon, 1 Dec 2025 04:54:57 +0000 (11:54 +0700)]
MDL-86346 lib: Update mustache helper after upgrade
- Update component file, moved mustache from psr-0 to psr-4 section
- Update mustache helpers
- Update mustache related tests
Huong Nguyen [Mon, 29 Dec 2025 02:54:25 +0000 (09:54 +0700)]
Merge branch 'MDL-87433-main' of https://github.com/muhammadarnaldo/moodle
AMOS bot [Sat, 27 Dec 2025 00:08:11 +0000 (00:08 +0000)]
Automatically generated installer lang files
AMOS bot [Fri, 26 Dec 2025 00:08:07 +0000 (00:08 +0000)]
Automatically generated installer lang files
Muhammad Arnaldo [Wed, 24 Dec 2025 08:47:54 +0000 (15:47 +0700)]
MDL-87433 course: Add sorting to get_nearest_editable_subcategory
Add ORDER BY to the query to ensure categories are returned in
consistent order. This fixes random test failures, especially
on PostgreSQL.
Mark Johnson [Tue, 18 Nov 2025 16:30:25 +0000 (16:30 +0000)]
MDL-73602 questions: Prevent restore of qtype_random questions
This completely removes the step of creating a question with qtype
'random' during the restore process.
Previously, we would create the question bank entry, question version
and question record, then rely on the activity using it to convert it to
a question set reference and delete it. If the activity was never
restored, the question remained in the database.
Now, we store the random question data in a temporary record. The
activity still converts this to a set reference, and now directly to the
new filter condition format. The temporary record will automatically be
cleaned up after the restore.
If the restore process attempts to create a question record with qtype
'random', this will now throw a coding exception as this must never
happen.
Yerai Rodríguez [Tue, 23 Dec 2025 12:26:46 +0000 (13:26 +0100)]
MDL-87529 core_customfield: reset CF handler cache after form save
Alex Keel [Tue, 23 Dec 2025 12:28:35 +0000 (12:28 +0000)]
MDL-86869 gradereport_singleview: Raises memory limit
Amaia Anabitarte [Tue, 23 Dec 2025 10:37:53 +0000 (11:37 +0100)]
Merge branch 'MDL-87279-main' of https://github.com/sarjona/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:58:28 +0000 (16:58 +0800)]
Merge branch 'MDL-84987_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:51:33 +0000 (16:51 +0800)]
Merge branch 'MDL-85649_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:46:57 +0000 (16:46 +0800)]
Merge branch 'MDL-86995-main' of https://github.com/sh-csg/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:09:28 +0000 (16:09 +0800)]
Merge branch 'MDL-86798_main' of https://github.com/marxjohnson/moodle
Sara Arjona [Fri, 12 Dec 2025 11:46:28 +0000 (12:46 +0100)]
MDL-87280 subsection: Add task to remove existing descriptions
Sara Arjona [Mon, 1 Dec 2025 09:41:20 +0000 (10:41 +0100)]
MDL-87279 course: Remove edit description for delegated sections
Sara Arjona [Tue, 23 Dec 2025 05:48:42 +0000 (06:48 +0100)]
Merge branch 'MDL-83115-main' of https://github.com/aanabit/moodle
Andrew Nicols [Tue, 23 Dec 2025 03:45:09 +0000 (11:45 +0800)]
MDL-87526 core: Moodle provides moodle/lms
Mark Johnson [Fri, 11 Jul 2025 08:00:13 +0000 (09:00 +0100)]
MDL-85649 questions: Show question count in the question banks page
This displays a badge next to each question bank with a count of the
question it contains. The counts are loaded asynchrnously to avoid
adding extra queries to the page load.
Amaia Anabitarte [Wed, 19 Nov 2025 15:49:16 +0000 (16:49 +0100)]
MDL-83115 course_format: Improve format does not support sections error
Laurent David [Wed, 15 Oct 2025 10:47:28 +0000 (12:47 +0200)]
MDL-86854 core_course: refactor moveto_module other usages
Laurent David [Tue, 14 Oct 2025 08:46:26 +0000 (10:46 +0200)]
MDL-86854 core_courseformat: cm_move to use cmactions methods
Laurent David [Tue, 14 Oct 2025 06:36:33 +0000 (08:36 +0200)]
MDL-86854 core_courseformat: Add move_before logic by cmactions
Stefan Hanauska [Wed, 5 Nov 2025 13:08:15 +0000 (14:08 +0100)]
MDL-86995 mod_forum: Allow ignoring maxeditingtime for qanda forum
Mark Johnson [Thu, 11 Dec 2025 11:19:09 +0000 (11:19 +0000)]
MDL-86798 questions: Check original context is on the same site
When checking if the original context exists during a restore, we need
to check that we're looking at the context on the same site, not one on
a different site that happens to have the same ID.
Mark Johnson [Fri, 14 Nov 2025 11:08:17 +0000 (11:08 +0000)]
MDL-86798 questions: Track next version for question bank entries
This adds a new "nextversion" field to `question_bank_entries` to track
which version number the next version of the question should have. This
ensures that version numbers are not re-used if the latest version is
deleted.
To use this field, you must call
`\core_question\versions::get_next_version()`. This will initialise the
field to the correct value if it is currently null.
If you create a new version using this value, you must then call
`\core_question\versions::increment_next_version()` to increment the
counter.
Mark Johnson [Thu, 13 Nov 2025 09:12:49 +0000 (09:12 +0000)]
MDL-86798 questions: Restore backups containing deleted versions
If the latest version of a question is deleted, and then a new one
created, the new one will currently re-use the version number of the
deleted version. If the original version was backed up before it was
deleted, then restored later, we end up with two questions in one
question bank entry that have the same version.
To resolve this, when restoring a question, we check if there is already
a version with the same version number, then bump it and any higher
versions up by 1. We also check for any references specifically using
these versions and bump those up by 1. Any references using "always
latest" will be fine, as the latest version will still be the latest.
Additionally, if deleting a version made it hidden, and the backup
contains the same version in "ready" state, restoring the backup will
restore it to "ready" state.
Huong Nguyen [Fri, 19 Dec 2025 02:03:57 +0000 (09:03 +0700)]
weekly release 5.2dev
Huong Nguyen [Fri, 19 Dec 2025 02:03:57 +0000 (09:03 +0700)]
NOBUG: Add upgrade notes
Mark Johnson [Thu, 4 Dec 2025 14:54:59 +0000 (14:54 +0000)]
MDL-84987 qbank_managecategories: In-place editing of category names
Implement an inplace_editable widget for category names.
Currently, category names in the Edit categories interface are a link to
the questions in that category. This reduces that link so it only
applies to the question count, and replaces the static category name
with an inplace_editable widget.
As this is within a reactive component, and the category name is used
elsewhere for things like building the "Move category" modal, once the
inplace_editable returns a successful update we also update the category
name in the state.
The category component now listens for updates to the name in the state,
and updates the `data-categoryname` attribute in the DOM element. As
well as being triggered by the new inplace_editable, this is also
triggered when the name is edited in the modal editing form.
Ilya Tregubov [Thu, 18 Dec 2025 08:36:06 +0000 (09:36 +0100)]
MDL-87288 output: Fix pagination in small containers.
Huong Nguyen [Thu, 18 Dec 2025 03:22:35 +0000 (10:22 +0700)]
Merge branch 'MDL-87340-main' of https://github.com/lameze/moodle
Huong Nguyen [Thu, 18 Dec 2025 02:29:53 +0000 (09:29 +0700)]
Merge branch 'MDL-86420-main' of https://github.com/muhammadarnaldo/moodle
Huong Nguyen [Thu, 18 Dec 2025 02:26:48 +0000 (09:26 +0700)]
Merge branch 'MDL-86086-main' of https://github.com/andimendunia/moodle
Adrian Greeve [Wed, 17 Dec 2025 08:21:40 +0000 (16:21 +0800)]
Merge branch 'MDL-87461-main' of https://github.com/andrewnicols/moodle
Huong Nguyen [Wed, 17 Dec 2025 07:15:12 +0000 (14:15 +0700)]
Merge branch 'MDL-87094-main' of https://github.com/andelacruz/moodle
Mihail Geshoski [Wed, 17 Dec 2025 04:42:15 +0000 (12:42 +0800)]
Merge branch 'MDL-86916-main' of https://github.com/durenadev/moodle
Mihail Geshoski [Wed, 17 Dec 2025 04:38:24 +0000 (12:38 +0800)]
Merge branch 'MDL-82639-main' of https://github.com/cameron1729/moodle
Mihail Geshoski [Wed, 17 Dec 2025 04:29:41 +0000 (12:29 +0800)]
Merge branch 'MDL-72833_main' of https://github.com/marxjohnson/moodle
Andi Permana [Wed, 10 Dec 2025 11:28:19 +0000 (18:28 +0700)]
MDL-86086 theme_boost: Add visual distinction for readonly form inputs
Juan Segarra Montesinos [Tue, 16 Dec 2025 16:46:06 +0000 (17:46 +0100)]
MDL-87479 mod_glossary: Manage entries from the showentry page
Mihail Geshoski [Wed, 17 Dec 2025 04:13:52 +0000 (12:13 +0800)]
Merge branch 'MDL-86416-main' of https://github.com/junpataleta/moodle
Huong Nguyen [Tue, 16 Dec 2025 04:06:34 +0000 (11:06 +0700)]
MDL-67733 repository_youtube: Use new Google API Client integration
Huong Nguyen [Tue, 16 Dec 2025 03:58:00 +0000 (10:58 +0700)]
MDL-67733 core: Add Google API Client integration for Moodle
Huong Nguyen [Tue, 16 Dec 2025 03:55:24 +0000 (10:55 +0700)]
MDL-67733 core: Add new libs to namespace
Huong Nguyen [Tue, 16 Dec 2025 03:53:02 +0000 (10:53 +0700)]
MDL-67733 core: Include Google PHP API Client Services
Huong Nguyen [Tue, 16 Dec 2025 02:59:08 +0000 (09:59 +0700)]
MDL-67733 core: Include Google Auth Library for PHP
Huong Nguyen [Tue, 16 Dec 2025 02:55:22 +0000 (09:55 +0700)]
MDL-67733 core: Include Google APIs version 2
Paul Holden [Tue, 16 Dec 2025 13:10:21 +0000 (13:10 +0000)]
MDL-85300 output: ensure Bootstrap tooltips load for dynamic content.
Prior to this change, tooltips would only load for elements in the
initial page DOM without considering those elements subsequently added
dynamically (e.g. via AJAX).
Co-authored-by: Sebastian Gundersen <sebastian@sgundersen.com>
Amaia Anabitarte [Tue, 16 Dec 2025 11:09:18 +0000 (12:09 +0100)]
Merge branch 'MDL-87276-main' of https://github.com/sarjona/moodle
Andrew Nicols [Mon, 15 Dec 2025 02:04:31 +0000 (10:04 +0800)]
MDL-87461 core: Hide diffs for composer.lock
Andrew Nicols [Mon, 15 Dec 2025 02:03:18 +0000 (10:03 +0800)]
MDL-87461 core: Update composer lock file
Andrew Nicols [Mon, 15 Dec 2025 02:03:01 +0000 (10:03 +0800)]
MDL-87461 core: Add Composer config to indicate the use of public dir
Huong Nguyen [Tue, 16 Dec 2025 02:46:04 +0000 (09:46 +0700)]
MDL-67733 core: Include PSR-6/Caching Interface
Huong Nguyen [Tue, 16 Dec 2025 02:40:09 +0000 (09:40 +0700)]
MDL-67733 core: Include Monolog
Alex Keel [Thu, 9 Oct 2025 15:22:42 +0000 (16:22 +0100)]
MDL-86869 gradereport_singleview: Lower the max per page limit
Amaia Anabitarte [Mon, 15 Dec 2025 12:39:54 +0000 (13:39 +0100)]
Merge branch 'MDL-87436-main' of https://github.com/laurentdavid/moodle