integration.git
5 hours agoMerge branch 'MDL-88391' of https://github.com/paulholden/moodle main
Sara Arjona [Wed, 8 Apr 2026 06:10:53 +0000 (08:10 +0200)]
Merge branch 'MDL-88391' of https://github.com/paulholden/moodle

10 hours agoMerge branch 'MDL-88006' of https://github.com/paulholden/moodle
Huong Nguyen [Wed, 8 Apr 2026 01:12:55 +0000 (08:12 +0700)]
Merge branch 'MDL-88006' of https://github.com/paulholden/moodle

15 hours agoMDL-88391 tool_mobile: update usage of Bootstrap margin class.
Paul Holden [Tue, 7 Apr 2026 19:50:46 +0000 (20:50 +0100)]
MDL-88391 tool_mobile: update usage of Bootstrap margin class.

23 hours agoMerge branch 'MDL-88214-main' of https://github.com/aanabit/moodle
Sara Arjona [Tue, 7 Apr 2026 12:42:54 +0000 (14:42 +0200)]
Merge branch 'MDL-88214-main' of https://github.com/aanabit/moodle

26 hours agoMerge branch 'MDL-87739' of https://github.com/paulholden/moodle
Mihail Geshoski [Tue, 7 Apr 2026 09:05:40 +0000 (17:05 +0800)]
Merge branch 'MDL-87739' of https://github.com/paulholden/moodle

26 hours agoMerge branch 'MDL-87796' of https://github.com/paulholden/moodle
Mihail Geshoski [Tue, 7 Apr 2026 09:00:37 +0000 (17:00 +0800)]
Merge branch 'MDL-87796' of https://github.com/paulholden/moodle

26 hours agoMerge branch 'MDL-87269' of https://github.com/paulholden/moodle
Mihail Geshoski [Tue, 7 Apr 2026 08:55:06 +0000 (16:55 +0800)]
Merge branch 'MDL-87269' of https://github.com/paulholden/moodle

26 hours agoMerge branch 'MDL-88316-main' of https://github.com/laurentdavid/moodle
Sara Arjona [Tue, 7 Apr 2026 08:54:09 +0000 (10:54 +0200)]
Merge branch 'MDL-88316-main' of https://github.com/laurentdavid/moodle

28 hours agoMerge branch 'MDL-77649-main' of https://github.com/junpataleta/moodle
Mihail Geshoski [Tue, 7 Apr 2026 07:19:45 +0000 (15:19 +0800)]
Merge branch 'MDL-77649-main' of https://github.com/junpataleta/moodle

28 hours agoMerge branch 'MDL-80496-main' of https://github.com/parzers/moodle
Mihail Geshoski [Tue, 7 Apr 2026 07:13:48 +0000 (15:13 +0800)]
Merge branch 'MDL-80496-main' of https://github.com/parzers/moodle

29 hours agoMDL-88316 core_courseformat: Fix URL mapping for subsections
Laurent David [Tue, 31 Mar 2026 06:07:38 +0000 (08:07 +0200)]
MDL-88316 core_courseformat: Fix URL mapping for subsections

29 hours agoMerge branch 'MDL-88361-main' of https://github.com/sarjona/moodle
Sara Arjona [Tue, 7 Apr 2026 05:56:55 +0000 (07:56 +0200)]
Merge branch 'MDL-88361-main' of https://github.com/sarjona/moodle

33 hours agoMerge branch 'MDL-88349-main' of https://github.com/muhammadarnaldo/moodle
Huong Nguyen [Tue, 7 Apr 2026 02:01:44 +0000 (09:01 +0700)]
Merge branch 'MDL-88349-main' of https://github.com/muhammadarnaldo/moodle

33 hours agoMerge branch 'MDL-88348-main' of https://github.com/andimendunia/moodle
Huong Nguyen [Tue, 7 Apr 2026 01:58:42 +0000 (08:58 +0700)]
Merge branch 'MDL-88348-main' of https://github.com/andimendunia/moodle

2 days agoMDL-80496 filter_codehighlighter: add prism- prefix to CSS classes
Simon Parzer [Sat, 26 Apr 2025 14:32:15 +0000 (16:32 +0200)]
MDL-80496 filter_codehighlighter: add prism- prefix to CSS classes

Add CustomClass plugin to PrismJS
Update behat test

2 days agoMerge branch 'MDL-87957-main' of https://github.com/jfederico/moodle
Huong Nguyen [Mon, 6 Apr 2026 01:48:25 +0000 (08:48 +0700)]
Merge branch 'MDL-87957-main' of https://github.com/jfederico/moodle

5 days agoMoodle release 5.2beta
Huong Nguyen [Fri, 3 Apr 2026 02:25:52 +0000 (09:25 +0700)]
Moodle release 5.2beta

5 days agoNOBUG: Add upgrade notes
Huong Nguyen [Fri, 3 Apr 2026 02:25:51 +0000 (09:25 +0700)]
NOBUG: Add upgrade notes

5 days agoNOBUG: Fixed SVG browser compatibility
Huong Nguyen [Fri, 3 Apr 2026 02:25:29 +0000 (09:25 +0700)]
NOBUG: Fixed SVG browser compatibility

5 days agoMerge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Huong Nguyen [Fri, 3 Apr 2026 02:25:22 +0000 (09:25 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install

5 days agoAutomatically generated installer lang files
AMOS bot [Fri, 3 Apr 2026 00:07:55 +0000 (00:07 +0000)]
Automatically generated installer lang files

5 days agoMDL-88214 course: Remove the settings menu from restricted pages
Amaia Anabitarte [Thu, 2 Apr 2026 14:17:08 +0000 (16:17 +0200)]
MDL-88214 course: Remove the settings menu from restricted pages

5 days agoMDL-88348 repository_upload: move validation before session close
Andi Permana [Thu, 2 Apr 2026 11:18:03 +0000 (18:18 +0700)]
MDL-88348 repository_upload: move validation before session close

6 days agoMDL-88006 ai: normalise line breaks in AI response helper.
Paul Holden [Tue, 3 Mar 2026 13:57:35 +0000 (13:57 +0000)]
MDL-88006 ai: normalise line breaks in AI response helper.

Match multiple instances of either CRLF, LF and/or BR tags, replace
them with double <br/> tags for consistent output.

6 days agoMDL-88361 course: Avoid duplicate dates in restricted page for classic
Sara Arjona [Thu, 2 Apr 2026 10:17:26 +0000 (12:17 +0200)]
MDL-88361 course: Avoid duplicate dates in restricted page for classic

Forcing incourse pagelayout for restricted module page aligns it with
regular activity pages and prevents the duplicate date rendering path.

6 days agoMerge branch 'MDL-88210-main' of https://github.com/mickhawkins/moodle
Huong Nguyen [Thu, 2 Apr 2026 03:54:53 +0000 (10:54 +0700)]
Merge branch 'MDL-88210-main' of https://github.com/mickhawkins/moodle

6 days agoMDL-88349 core: fix preventredirect guard
Muhammad Arnaldo [Thu, 2 Apr 2026 03:23:30 +0000 (10:23 +0700)]
MDL-88349 core: fix preventredirect guard

Added the missing the $preventredirect check
for the restricted-but-visible activity case.

6 days agoMDL-88210 core: Fix filtering of additionalhtmlfooter
Michael Hawkins [Mon, 16 Mar 2026 03:11:33 +0000 (11:11 +0800)]
MDL-88210 core: Fix filtering of additionalhtmlfooter

When filtering was added to support multi-lang, it used format_string
which broke necessary JS support, this update corrects it to format_text

6 days agoMerge branch 'MDL-84579-main' of https://github.com/vietlx426/moodle-1
Mihail Geshoski [Thu, 2 Apr 2026 02:22:19 +0000 (10:22 +0800)]
Merge branch 'MDL-84579-main' of https://github.com/vietlx426/moodle-1

6 days agoMerge branch 'MDL-87498-main' of https://github.com/davewoloszyn/moodle
Huong Nguyen [Thu, 2 Apr 2026 02:19:32 +0000 (09:19 +0700)]
Merge branch 'MDL-87498-main' of https://github.com/davewoloszyn/moodle

6 days agoMerge branch 'MDL-88272-main' of https://github.com/junpataleta/moodle
Huong Nguyen [Thu, 2 Apr 2026 02:11:38 +0000 (09:11 +0700)]
Merge branch 'MDL-88272-main' of https://github.com/junpataleta/moodle

6 days agoMerge branch 'MDL-68335-main' of https://github.com/lucaboesch/moodle
Mihail Geshoski [Thu, 2 Apr 2026 01:56:30 +0000 (09:56 +0800)]
Merge branch 'MDL-68335-main' of https://github.com/lucaboesch/moodle

6 days agoMerge branch 'MDL-87848_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Thu, 2 Apr 2026 01:49:16 +0000 (09:49 +0800)]
Merge branch 'MDL-87848_main' of https://github.com/marxjohnson/moodle

6 days agoMerge branch 'MDL-88228-main' of https://github.com/raortegar/moodle
Huong Nguyen [Thu, 2 Apr 2026 01:40:40 +0000 (08:40 +0700)]
Merge branch 'MDL-88228-main' of https://github.com/raortegar/moodle

6 days agoAutomatically generated installer lang files
AMOS bot [Thu, 2 Apr 2026 00:08:20 +0000 (00:08 +0000)]
Automatically generated installer lang files

7 days agoMerge branch 'MDL-88092-main' of https://github.com/rezaies/moodle
Safat [Wed, 1 Apr 2026 11:13:31 +0000 (22:13 +1100)]
Merge branch 'MDL-88092-main' of https://github.com/rezaies/moodle

7 days agoMDL-87498 tool_task: Adhoc queue check ignores failed tasks
Brendan Heywood [Thu, 18 Dec 2025 13:18:25 +0000 (00:18 +1100)]
MDL-87498 tool_task: Adhoc queue check ignores failed tasks

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
7 days agoMDL-77649 glossary: Do not use layout tables for glossary entries
Jun Pataleta [Thu, 15 Jan 2026 04:40:40 +0000 (12:40 +0800)]
MDL-77649 glossary: Do not use layout tables for glossary entries

7 days agoMDL-77649 glossary: Do not use layout tables in glossary functions
Jun Pataleta [Tue, 23 Dec 2025 08:35:40 +0000 (16:35 +0800)]
MDL-77649 glossary: Do not use layout tables in glossary functions

* Refactor `glossary_print_entry_lower_section()` and
`glossary_print_entry_approval()` so that they are not rendered using
layout tables.

7 days agoMDL-77649 glossary: Create a reusable glossary entry header
Jun Pataleta [Thu, 15 Jan 2026 04:28:07 +0000 (12:28 +0800)]
MDL-77649 glossary: Create a reusable glossary entry header

7 days agoMDL-77649 glossary: Query user record only when necessary
Jun Pataleta [Thu, 15 Jan 2026 04:34:28 +0000 (12:34 +0800)]
MDL-77649 glossary: Query user record only when necessary

We should only be querying the user record only when we are displaying
an entry. If there's no entry to be shown, we do not need to query it.

# Conflicts:
# public/mod/glossary/formats/encyclopedia/encyclopedia_format.php

7 days agoMDL-77649 glossary: Use appropriate author lang string
Jun Pataleta [Tue, 23 Dec 2025 08:14:01 +0000 (16:14 +0800)]
MDL-77649 glossary: Use appropriate author lang string

* Create mod_glossary's own `bynameondate` lang string to avoid
violating component communication rules.

7 days agoMDL-77649 glossary: Fix skipped heading levels
Jun Pataleta [Tue, 23 Dec 2025 08:45:45 +0000 (16:45 +0800)]
MDL-77649 glossary: Fix skipped heading levels

* And adjust Behat tests accordingly

7 days agoMDL-77649 glossary: Set presentation role for entry tables
Jun Pataleta [Thu, 15 Jan 2026 05:33:18 +0000 (13:33 +0800)]
MDL-77649 glossary: Set presentation role for entry tables

* And for entry formats that display a user picture, make the user
picture decorative only to avoid duplicate user profile links on
the page.

7 days agoMerge branch 'MDL-88343-main' of https://github.com/junpataleta/moodle
Huong Nguyen [Wed, 1 Apr 2026 01:56:28 +0000 (08:56 +0700)]
Merge branch 'MDL-88343-main' of https://github.com/junpataleta/moodle

7 days agoMerge branch 'MDL-87605' of https://github.com/paulholden/moodle
Huong Nguyen [Wed, 1 Apr 2026 01:50:16 +0000 (08:50 +0700)]
Merge branch 'MDL-87605' of https://github.com/paulholden/moodle

7 days agoMerge branch 'MDL-87862-main' of https://github.com/djarran/moodle
Huong Nguyen [Wed, 1 Apr 2026 01:46:17 +0000 (08:46 +0700)]
Merge branch 'MDL-87862-main' of https://github.com/djarran/moodle

7 days agoMDL-77649 glossary: Set presentation role for glossary functions
Jun Pataleta [Thu, 15 Jan 2026 05:31:51 +0000 (13:31 +0800)]
MDL-77649 glossary: Set presentation role for glossary functions

* Set the tables rendered by `glossary_print_entry_lower_section()` and
`glossary_print_entry_approval()` as decorative.

7 days agoMDL-77649 glossary: Render category headers without using layout tables
Jun Pataleta [Tue, 23 Dec 2025 01:50:05 +0000 (09:50 +0800)]
MDL-77649 glossary: Render category headers without using layout tables

7 days agoMerge branch 'MDL-87632-main' of https://github.com/andimendunia/moodle
Mihail Geshoski [Wed, 1 Apr 2026 01:18:01 +0000 (09:18 +0800)]
Merge branch 'MDL-87632-main' of https://github.com/andimendunia/moodle

7 days agoMerge branch 'MDL-87624-main' of https://github.com/snake/moodle
Mihail Geshoski [Wed, 1 Apr 2026 01:07:11 +0000 (09:07 +0800)]
Merge branch 'MDL-87624-main' of https://github.com/snake/moodle

7 days agoMerge branch 'MDL-87331' of https://github.com/paulholden/moodle
Mihail Geshoski [Wed, 1 Apr 2026 00:59:56 +0000 (08:59 +0800)]
Merge branch 'MDL-87331' of https://github.com/paulholden/moodle

7 days agoAutomatically generated installer lang files
AMOS bot [Wed, 1 Apr 2026 00:07:58 +0000 (00:07 +0000)]
Automatically generated installer lang files

7 days agoMDL-68335 qbehaviour: read in settings.php files
Marcus Green [Sun, 15 Feb 2026 19:34:36 +0000 (20:34 +0100)]
MDL-68335 qbehaviour: read in settings.php files

7 days agoMDL-88272 theme: Update the login background for Boost and Classic
Jun Pataleta [Fri, 27 Mar 2026 04:40:03 +0000 (12:40 +0800)]
MDL-88272 theme: Update the login background for Boost and Classic

Co-authored-by: Matt Porritt <matt.porritt@moodle.com>
7 days agoMDL-88272 theme_boost: Expose auth instructions to assistive tech
Jun Pataleta [Wed, 25 Mar 2026 06:04:24 +0000 (14:04 +0800)]
MDL-88272 theme_boost: Expose auth instructions to assistive tech

* Setting the `aside` and stats container hidden from assistive
technologies means that screen reader users will miss out on the
login instructions on the site. We must make sure to display them
so screen reader users do not miss out.
* In addition to that, not sure why we need to set a presentation
role to the div containing the stats. I think it's better for
assistive technology users to be able to perceive these as well,
just like sighted users can.

7 days agoMDL-88272 core: Add a semi-opaque backdrop for the login instructions
Jun Pataleta [Wed, 25 Mar 2026 06:02:21 +0000 (14:02 +0800)]
MDL-88272 core: Add a semi-opaque backdrop for the login instructions

This is to ensure sufficient contrast regardless of the background
image.

7 days agoMDL-88228 core: Rename "Suspended" users label at system level
Raquel Ortega [Wed, 25 Mar 2026 11:42:09 +0000 (12:42 +0100)]
MDL-88228 core: Rename "Suspended" users label at system level

8 days agoMDL-88092 core_h5p: Remove the h5plib_v127 plugin
Shamim Rezaie [Thu, 12 Mar 2026 22:48:22 +0000 (09:48 +1100)]
MDL-88092 core_h5p: Remove the h5plib_v127 plugin

The h5plib_v127 plugin can be removed because it has been replaced with
h5plib_v128, which is using the latest versions of the libraries.

8 days agoMDL-88092 core_h5p: Update editor lib with Moodle-specific adjustments
Shamim Rezaie [Thu, 12 Mar 2026 01:58:57 +0000 (12:58 +1100)]
MDL-88092 core_h5p: Update editor lib with Moodle-specific adjustments

8 days agoMDL-88092 core_h5p: Upgrade joubel/editor library to moodle-1.27.2
Shamim Rezaie [Wed, 11 Mar 2026 20:14:27 +0000 (07:14 +1100)]
MDL-88092 core_h5p: Upgrade joubel/editor library to moodle-1.27.2

This commit is upgrading the joubel/editor library to the one tagged as
moodle-1.27.2 (which interestingly has no difference to moodle-1.27.0).

8 days agoMDL-88092 core_h5p: Update core lib with Moodle-specific adjustments
Shamim Rezaie [Thu, 12 Mar 2026 21:37:24 +0000 (08:37 +1100)]
MDL-88092 core_h5p: Update core lib with Moodle-specific adjustments

8 days agoMDL-88092 core_h5p: Upgrade joubel/core library to v1.28.0
Shamim Rezaie [Thu, 12 Mar 2026 21:37:10 +0000 (08:37 +1100)]
MDL-88092 core_h5p: Upgrade joubel/core library to v1.28.0

This commit is upgrading the joubel/core library to the one
tagged as 1.28.0 (which also increases the coreApi minorVersion).
That's why the previous commit was duplicating the existing h5plib_v127.

8 days agoMDL-88092 h5plib: Create first version of h5plib_v128
Shamim Rezaie [Thu, 12 Mar 2026 20:44:56 +0000 (07:44 +1100)]
MDL-88092 h5plib: Create first version of h5plib_v128

AMOS BEGIN
 CPY [editor:a11ytitleshowlabel,h5plib_v127],[editor:a11ytitleshowlabel,h5plib_v128]
 CPY [editor:a11ytitlehidelabel,h5plib_v127],[editor:a11ytitlehidelabel,h5plib_v128]
 CPY [editor:atoz,h5plib_v127],[editor:atoz,h5plib_v128]
 CPY [editor:add,h5plib_v127],[editor:add,h5plib_v128]
 CPY [editor:addauthor,h5plib_v127],[editor:addauthor,h5plib_v128]
 CPY [editor:addentity,h5plib_v127],[editor:addentity,h5plib_v128]
 CPY [editor:addfile,h5plib_v127],[editor:addfile,h5plib_v128]
 CPY [editor:addnewchange,h5plib_v127],[editor:addnewchange,h5plib_v128]
 CPY [editor:addtitle,h5plib_v127],[editor:addtitle,h5plib_v128]
 CPY [editor:addvideodescription,h5plib_v127],[editor:addvideodescription,h5plib_v128]
 CPY [editor:avtablistlabel,h5plib_v127],[editor:avtablistlabel,h5plib_v128]
 CPY [editor:belowmin,h5plib_v127],[editor:belowmin,h5plib_v128]
 CPY [editor:cancel,h5plib_v127],[editor:cancel,h5plib_v128]
 CPY [editor:cancellabel,h5plib_v127],[editor:cancellabel,h5plib_v128]
 CPY [editor:changefile,h5plib_v127],[editor:changefile,h5plib_v128]
 CPY [editor:changelanguage,h5plib_v127],[editor:changelanguage,h5plib_v128]
 CPY [editor:changelibrary,h5plib_v127],[editor:changelibrary,h5plib_v128]
 CPY [editor:changelogdescription,h5plib_v127],[editor:changelogdescription,h5plib_v128]
 CPY [editor:close,h5plib_v127],[editor:close,h5plib_v128]
 CPY [editor:commonfields,h5plib_v127],[editor:commonfields,h5plib_v128]
 CPY [editor:commonfieldsdescription,h5plib_v127],[editor:commonfieldsdescription,h5plib_v128]
 CPY [editor:confirmchangelibrary,h5plib_v127],[editor:confirmchangelibrary,h5plib_v128]
 CPY [editor:confirmdeletechangelog,h5plib_v127],[editor:confirmdeletechangelog,h5plib_v128]
 CPY [editor:confirmimageremoval,h5plib_v127],[editor:confirmimageremoval,h5plib_v128]
 CPY [editor:confirmpastebuttontext,h5plib_v127],[editor:confirmpastebuttontext,h5plib_v128]
 CPY [editor:confirmpastecontent,h5plib_v127],[editor:confirmpastecontent,h5plib_v128]
 CPY [editor:confirmremoval,h5plib_v127],[editor:confirmremoval,h5plib_v128]
 CPY [editor:confirmremoveauthor,h5plib_v127],[editor:confirmremoveauthor,h5plib_v128]
 CPY [editor:contenttypebackbuttonlabel,h5plib_v127],[editor:contenttypebackbuttonlabel,h5plib_v128]
 CPY [editor:contenttypecacheoutdated,h5plib_v127],[editor:contenttypecacheoutdated,h5plib_v128]
 CPY [editor:contenttypecacheoutdateddesc,h5plib_v127],[editor:contenttypecacheoutdateddesc,h5plib_v128]
 CPY [editor:contenttypedemobuttonlabel,h5plib_v127],[editor:contenttypedemobuttonlabel,h5plib_v128]
 CPY [editor:contenttypedetailbuttonlabel,h5plib_v127],[editor:contenttypedetailbuttonlabel,h5plib_v128]
 CPY [editor:contenttypegetbuttonlabel,h5plib_v127],[editor:contenttypegetbuttonlabel,h5plib_v128]
 CPY [editor:contenttypeiconalttext,h5plib_v127],[editor:contenttypeiconalttext,h5plib_v128]
 CPY [editor:contenttypeinstallbuttonlabel,h5plib_v127],[editor:contenttypeinstallbuttonlabel,h5plib_v128]
 CPY [editor:contenttypeinstallerror,h5plib_v127],[editor:contenttypeinstallerror,h5plib_v128]
 CPY [editor:contenttypeinstallsuccess,h5plib_v127],[editor:contenttypeinstallsuccess,h5plib_v128]
 CPY [editor:contenttypeinstallingbuttonlabel,h5plib_v127],[editor:contenttypeinstallingbuttonlabel,h5plib_v128]
 CPY [editor:contenttypelicensepaneltitle,h5plib_v127],[editor:contenttypelicensepaneltitle,h5plib_v128]
 CPY [editor:contenttypenotinstalled,h5plib_v127],[editor:contenttypenotinstalled,h5plib_v128]
 CPY [editor:contenttypenotinstalleddesc,h5plib_v127],[editor:contenttypenotinstalleddesc,h5plib_v128]
 CPY [editor:contenttypeowner,h5plib_v127],[editor:contenttypeowner,h5plib_v128]
 CPY [editor:contenttyperestricted,h5plib_v127],[editor:contenttyperestricted,h5plib_v128]
 CPY [editor:contenttyperestricteddesc,h5plib_v127],[editor:contenttyperestricteddesc,h5plib_v128]
 CPY [editor:contenttypesearchfieldplaceholder,h5plib_v127],[editor:contenttypesearchfieldplaceholder,h5plib_v128]
 CPY [editor:contenttypesectionall,h5plib_v127],[editor:contenttypesectionall,h5plib_v128]
 CPY [editor:contenttypeunsupportedapiversioncontent,h5plib_v127],[editor:contenttypeunsupportedapiversioncontent,h5plib_v128]
 CPY [editor:contenttypeunsupportedapiversiontitle,h5plib_v127],[editor:contenttypeunsupportedapiversiontitle,h5plib_v128]
 CPY [editor:contenttypeupdateavailable,h5plib_v127],[editor:contenttypeupdateavailable,h5plib_v128]
 CPY [editor:contenttypeupdatebuttonlabel,h5plib_v127],[editor:contenttypeupdatebuttonlabel,h5plib_v128]
 CPY [editor:contenttypeupdatesuccess,h5plib_v127],[editor:contenttypeupdatesuccess,h5plib_v128]
 CPY [editor:contenttypeupdatingbuttonlabel,h5plib_v127],[editor:contenttypeupdatingbuttonlabel,h5plib_v128]
 CPY [editor:contenttypeusebuttonlabel,h5plib_v127],[editor:contenttypeusebuttonlabel,h5plib_v128]
 CPY [editor:contributetranslations,h5plib_v127],[editor:contributetranslations,h5plib_v128]
 CPY [editor:copiedbutton,h5plib_v127],[editor:copiedbutton,h5plib_v128]
 CPY [editor:copiedtoclipboard,h5plib_v127],[editor:copiedtoclipboard,h5plib_v128]
 CPY [editor:copybutton,h5plib_v127],[editor:copybutton,h5plib_v128]
 CPY [editor:copytoclipboard,h5plib_v127],[editor:copytoclipboard,h5plib_v128]
 CPY [editor:createcontenttablabel,h5plib_v127],[editor:createcontenttablabel,h5plib_v128]
 CPY [editor:currentmenuselected,h5plib_v127],[editor:currentmenuselected,h5plib_v128]
 CPY [editor:editcopyright,h5plib_v127],[editor:editcopyright,h5plib_v128]
 CPY [editor:editimage,h5plib_v127],[editor:editimage,h5plib_v128]
 CPY [editor:editmode,h5plib_v127],[editor:editmode,h5plib_v128]
 CPY [editor:enteraudiotitle,h5plib_v127],[editor:enteraudiotitle,h5plib_v128]
 CPY [editor:enteraudiourl,h5plib_v127],[editor:enteraudiourl,h5plib_v128]
 CPY [editor:enterfullscreenbuttonlabel,h5plib_v127],[editor:enterfullscreenbuttonlabel,h5plib_v128]
 CPY [editor:entervideotitle,h5plib_v127],[editor:entervideotitle,h5plib_v128]
 CPY [editor:entervideourl,h5plib_v127],[editor:entervideourl,h5plib_v128]
 CPY [editor:errorcalculatingmaxscore,h5plib_v127],[editor:errorcalculatingmaxscore,h5plib_v128]
 CPY [editor:errorcommunicatinghubcontent,h5plib_v127],[editor:errorcommunicatinghubcontent,h5plib_v128]
 CPY [editor:errorcommunicatinghubtitle,h5plib_v127],[editor:errorcommunicatinghubtitle,h5plib_v128]
 CPY [editor:errorheader,h5plib_v127],[editor:errorheader,h5plib_v128]
 CPY [editor:errornotsupported,h5plib_v127],[editor:errornotsupported,h5plib_v128]
 CPY [editor:errorparamsbroken,h5plib_v127],[editor:errorparamsbroken,h5plib_v128]
 CPY [editor:errortoohighversion,h5plib_v127],[editor:errortoohighversion,h5plib_v128]
 CPY [editor:example,h5plib_v127],[editor:example,h5plib_v128]
 CPY [editor:exceedsmax,h5plib_v127],[editor:exceedsmax,h5plib_v128]
 CPY [editor:exitfullscreenbuttonlabel,h5plib_v127],[editor:exitfullscreenbuttonlabel,h5plib_v128]
 CPY [editor:expandcollapse,h5plib_v127],[editor:expandcollapse,h5plib_v128]
 CPY [editor:filetolarge,h5plib_v127],[editor:filetolarge,h5plib_v128]
 CPY [editor:fillinthefieldsbelow,h5plib_v127],[editor:fillinthefieldsbelow,h5plib_v128]
 CPY [editor:gethelp,h5plib_v127],[editor:gethelp,h5plib_v128]
 CPY [editor:h5pfileuploadservererrorcontent,h5plib_v127],[editor:h5pfileuploadservererrorcontent,h5plib_v128]
 CPY [editor:h5pfileuploadservererrortitle,h5plib_v127],[editor:h5pfileuploadservererrortitle,h5plib_v128]
 CPY [editor:h5pfilevalidationfailedcontent,h5plib_v127],[editor:h5pfilevalidationfailedcontent,h5plib_v128]
 CPY [editor:h5pfilevalidationfailedtitle,h5plib_v127],[editor:h5pfilevalidationfailedtitle,h5plib_v128]
 CPY [editor:h5pfilewrongextensioncontent,h5plib_v127],[editor:h5pfilewrongextensioncontent,h5plib_v128]
 CPY [editor:h5pfilewrongextensiontitle,h5plib_v127],[editor:h5pfilewrongextensiontitle,h5plib_v128]
 CPY [editor:height,h5plib_v127],[editor:height,h5plib_v128]
 CPY [editor:hide,h5plib_v127],[editor:hide,h5plib_v128]
 CPY [editor:hideimportantinstructions,h5plib_v127],[editor:hideimportantinstructions,h5plib_v128]
 CPY [editor:hubpanellabel,h5plib_v127],[editor:hubpanellabel,h5plib_v128]
 CPY [editor:illegaldecimalnumber,h5plib_v127],[editor:illegaldecimalnumber,h5plib_v128]
 CPY [editor:imagelightboxprogress,h5plib_v127],[editor:imagelightboxprogress,h5plib_v128]
 CPY [editor:imagelightboxtitle,h5plib_v127],[editor:imagelightboxtitle,h5plib_v128]
 CPY [editor:importantinstructions,h5plib_v127],[editor:importantinstructions,h5plib_v128]
 CPY [editor:insert,h5plib_v127],[editor:insert,h5plib_v128]
 CPY [editor:invalidformat,h5plib_v127],[editor:invalidformat,h5plib_v128]
 CPY [editor:language,h5plib_v127],[editor:language,h5plib_v128]
 CPY [editor:librarymissing,h5plib_v127],[editor:librarymissing,h5plib_v128]
 CPY [editor:licensecandistribute,h5plib_v127],[editor:licensecandistribute,h5plib_v128]
 CPY [editor:licensecanholdliable,h5plib_v127],[editor:licensecanholdliable,h5plib_v128]
 CPY [editor:licensecanmodify,h5plib_v127],[editor:licensecanmodify,h5plib_v128]
 CPY [editor:licensecansublicense,h5plib_v127],[editor:licensecansublicense,h5plib_v128]
 CPY [editor:licensecanusecommercially,h5plib_v127],[editor:licensecanusecommercially,h5plib_v128]
 CPY [editor:licensecannotholdliable,h5plib_v127],[editor:licensecannotholdliable,h5plib_v128]
 CPY [editor:licensedescription,h5plib_v127],[editor:licensedescription,h5plib_v128]
 CPY [editor:licensefetchdetailsfailed,h5plib_v127],[editor:licensefetchdetailsfailed,h5plib_v128]
 CPY [editor:licensemodalsubtitle,h5plib_v127],[editor:licensemodalsubtitle,h5plib_v128]
 CPY [editor:licensemodaltitle,h5plib_v127],[editor:licensemodaltitle,h5plib_v128]
 CPY [editor:licensemustincludecopyright,h5plib_v127],[editor:licensemustincludecopyright,h5plib_v128]
 CPY [editor:licensemustincludelicense,h5plib_v127],[editor:licensemustincludelicense,h5plib_v128]
 CPY [editor:licenseunspecified,h5plib_v127],[editor:licenseunspecified,h5plib_v128]
 CPY [editor:listbelowmin,h5plib_v127],[editor:listbelowmin,h5plib_v128]
 CPY [editor:listexceedsmax,h5plib_v127],[editor:listexceedsmax,h5plib_v128]
 CPY [editor:listlabel,h5plib_v127],[editor:listlabel,h5plib_v128]
 CPY [editor:loading,h5plib_v127],[editor:loading,h5plib_v128]
 CPY [editor:loadingimageeditor,h5plib_v127],[editor:loadingimageeditor,h5plib_v128]
 CPY [editor:logthischange,h5plib_v127],[editor:logthischange,h5plib_v128]
 CPY [editor:loggedchanges,h5plib_v127],[editor:loggedchanges,h5plib_v128]
 CPY [editor:maxscoresemanticsmissing,h5plib_v127],[editor:maxscoresemanticsmissing,h5plib_v128]
 CPY [editor:metadata,h5plib_v127],[editor:metadata,h5plib_v128]
 CPY [editor:metadatasharingandlicensinginfo,h5plib_v127],[editor:metadatasharingandlicensinginfo,h5plib_v128]
 CPY [editor:missingproperty,h5plib_v127],[editor:missingproperty,h5plib_v128]
 CPY [editor:missingtranslation,h5plib_v127],[editor:missingtranslation,h5plib_v128]
 CPY [editor:newchangehasbeenlogged,h5plib_v127],[editor:newchangehasbeenlogged,h5plib_v128]
 CPY [editor:newestfirst,h5plib_v127],[editor:newestfirst,h5plib_v128]
 CPY [editor:nextimage,h5plib_v127],[editor:nextimage,h5plib_v128]
 CPY [editor:nochangeshavebeenlogged,h5plib_v127],[editor:nochangeshavebeenlogged,h5plib_v128]
 CPY [editor:nocontenttypesavailable,h5plib_v127],[editor:nocontenttypesavailable,h5plib_v128]
 CPY [editor:nocontenttypesavailabledesc,h5plib_v127],[editor:nocontenttypesavailabledesc,h5plib_v128]
 CPY [editor:nofollow,h5plib_v127],[editor:nofollow,h5plib_v128]
 CPY [editor:notimageordimensionsfield,h5plib_v127],[editor:notimageordimensionsfield,h5plib_v128]
 CPY [editor:numresults,h5plib_v127],[editor:numresults,h5plib_v128]
 CPY [editor:numberfield,h5plib_v127],[editor:numberfield,h5plib_v128]
 CPY [editor:ok,h5plib_v127],[editor:ok,h5plib_v128]
 CPY [editor:onlynumbers,h5plib_v127],[editor:onlynumbers,h5plib_v128]
 CPY [editor:or,h5plib_v127],[editor:or,h5plib_v128]
 CPY [editor:orderitemdown,h5plib_v127],[editor:orderitemdown,h5plib_v128]
 CPY [editor:orderitemup,h5plib_v127],[editor:orderitemup,h5plib_v128]
 CPY [editor:outofstep,h5plib_v127],[editor:outofstep,h5plib_v128]
 CPY [editor:pasteandreplacebutton,h5plib_v127],[editor:pasteandreplacebutton,h5plib_v128]
 CPY [editor:pasteandreplacefromclipboard,h5plib_v127],[editor:pasteandreplacefromclipboard,h5plib_v128]
 CPY [editor:pastebutton,h5plib_v127],[editor:pastebutton,h5plib_v128]
 CPY [editor:pastecontent,h5plib_v127],[editor:pastecontent,h5plib_v128]
 CPY [editor:pastecontentnotsupported,h5plib_v127],[editor:pastecontentnotsupported,h5plib_v128]
 CPY [editor:pastecontentrestricted,h5plib_v127],[editor:pastecontentrestricted,h5plib_v128]
 CPY [editor:pasteerror,h5plib_v127],[editor:pasteerror,h5plib_v128]
 CPY [editor:pastefromclipboard,h5plib_v127],[editor:pastefromclipboard,h5plib_v128]
 CPY [editor:pastenocontent,h5plib_v127],[editor:pastenocontent,h5plib_v128]
 CPY [editor:pastetoonew,h5plib_v127],[editor:pastetoonew,h5plib_v128]
 CPY [editor:pastetooold,h5plib_v127],[editor:pastetooold,h5plib_v128]
 CPY [editor:popularfirst,h5plib_v127],[editor:popularfirst,h5plib_v128]
 CPY [editor:previousimage,h5plib_v127],[editor:previousimage,h5plib_v128]
 CPY [editor:proceedbuttonlabel,h5plib_v127],[editor:proceedbuttonlabel,h5plib_v128]
 CPY [editor:readless,h5plib_v127],[editor:readless,h5plib_v128]
 CPY [editor:readmore,h5plib_v127],[editor:readmore,h5plib_v128]
 CPY [editor:recentlyusedfirst,h5plib_v127],[editor:recentlyusedfirst,h5plib_v128]
 CPY [editor:reloadbuttonlabel,h5plib_v127],[editor:reloadbuttonlabel,h5plib_v128]
 CPY [editor:removefile,h5plib_v127],[editor:removefile,h5plib_v128]
 CPY [editor:removeimage,h5plib_v127],[editor:removeimage,h5plib_v128]
 CPY [editor:removeitem,h5plib_v127],[editor:removeitem,h5plib_v128]
 CPY [editor:requiredproperty,h5plib_v127],[editor:requiredproperty,h5plib_v128]
 CPY [editor:resettooriginallabel,h5plib_v127],[editor:resettooriginallabel,h5plib_v128]
 CPY [editor:savelabel,h5plib_v127],[editor:savelabel,h5plib_v128]
 CPY [editor:savemetadata,h5plib_v127],[editor:savemetadata,h5plib_v128]
 CPY [editor:screenshots,h5plib_v127],[editor:screenshots,h5plib_v128]
 CPY [editor:scriptmissing,h5plib_v127],[editor:scriptmissing,h5plib_v128]
 CPY [editor:searchresults,h5plib_v127],[editor:searchresults,h5plib_v128]
 CPY [editor:selectfiletoupload,h5plib_v127],[editor:selectfiletoupload,h5plib_v128]
 CPY [editor:selectlibrary,h5plib_v127],[editor:selectlibrary,h5plib_v128]
 CPY [editor:semanticserror,h5plib_v127],[editor:semanticserror,h5plib_v128]
 CPY [editor:show,h5plib_v127],[editor:show,h5plib_v128]
 CPY [editor:showimportantinstructions,h5plib_v127],[editor:showimportantinstructions,h5plib_v128]
 CPY [editor:tabtitlebasicfileupload,h5plib_v127],[editor:tabtitlebasicfileupload,h5plib_v128]
 CPY [editor:tabtitleinputlinkurl,h5plib_v127],[editor:tabtitleinputlinkurl,h5plib_v128]
 CPY [editor:textfield,h5plib_v127],[editor:textfield,h5plib_v128]
 CPY [editor:thecontenttype,h5plib_v127],[editor:thecontenttype,h5plib_v128]
 CPY [editor:thiswillpotentially,h5plib_v127],[editor:thiswillpotentially,h5plib_v128]
 CPY [editor:title,h5plib_v127],[editor:title,h5plib_v128]
 CPY [editor:toolong,h5plib_v127],[editor:toolong,h5plib_v128]
 CPY [editor:tryagain,h5plib_v127],[editor:tryagain,h5plib_v128]
 CPY [editor:tutorial,h5plib_v127],[editor:tutorial,h5plib_v128]
 CPY [editor:unabletointerpreterror,h5plib_v127],[editor:unabletointerpreterror,h5plib_v128]
 CPY [editor:unabletointerpretsolution,h5plib_v127],[editor:unabletointerpretsolution,h5plib_v128]
 CPY [editor:unknownfieldpath,h5plib_v127],[editor:unknownfieldpath,h5plib_v128]
 CPY [editor:uploadinstructionstitle,h5plib_v127],[editor:uploadinstructionstitle,h5plib_v128]
 CPY [editor:uploadplaceholder,h5plib_v127],[editor:uploadplaceholder,h5plib_v128]
 CPY [editor:uploadsuccess,h5plib_v127],[editor:uploadsuccess,h5plib_v128]
 CPY [editor:uploadtablabel,h5plib_v127],[editor:uploadtablabel,h5plib_v128]
 CPY [editor:uploadvideotitle,h5plib_v127],[editor:uploadvideotitle,h5plib_v128]
 CPY [editor:uploading,h5plib_v127],[editor:uploading,h5plib_v128]
 CPY [editor:uploadingthrobber,h5plib_v127],[editor:uploadingthrobber,h5plib_v128]
 CPY [editor:usedforsearchingreportsandcopyrightinformation,h5plib_v127],[editor:usedforsearchingreportsandcopyrightinformation,h5plib_v128]
 CPY [editor:videoquality,h5plib_v127],[editor:videoquality,h5plib_v128]
 CPY [editor:videoqualitydefaultlabel,h5plib_v127],[editor:videoqualitydefaultlabel,h5plib_v128]
 CPY [editor:videoqualitydescription,h5plib_v127],[editor:videoqualitydescription,h5plib_v128]
 CPY [editor:warningchangebrowsingtoseeresults,h5plib_v127],[editor:warningchangebrowsingtoseeresults,h5plib_v128]
 CPY [editor:warningnocontenttypesinstalled,h5plib_v127],[editor:warningnocontenttypesinstalled,h5plib_v128]
 CPY [editor:warningupdateavailablebody,h5plib_v127],[editor:warningupdateavailablebody,h5plib_v128]
 CPY [editor:warningupdateavailabletitle,h5plib_v127],[editor:warningupdateavailabletitle,h5plib_v128]
 CPY [editor:width,h5plib_v127],[editor:width,h5plib_v128]
AMOS END

8 days agoAutomatically generated installer lang files
AMOS bot [Tue, 31 Mar 2026 00:07:59 +0000 (00:07 +0000)]
Automatically generated installer lang files

8 days agoMDL-88343 admin: Add accessibility Behat test for viewing suspended user
Jun Pataleta [Mon, 30 Mar 2026 12:45:38 +0000 (20:45 +0800)]
MDL-88343 admin: Add accessibility Behat test for viewing suspended user

8 days agoMDL-88343 user: Fix suspended user warning message heading level
Jun Pataleta [Mon, 30 Mar 2026 12:32:00 +0000 (20:32 +0800)]
MDL-88343 user: Fix suspended user warning message heading level

9 days agoMerge branch 'MDL-88285-main' of https://github.com/laurentdavid/moodle
Mihail Geshoski [Mon, 30 Mar 2026 08:15:03 +0000 (16:15 +0800)]
Merge branch 'MDL-88285-main' of https://github.com/laurentdavid/moodle

9 days agoMerge branch 'MDL-88086-main' of https://github.com/dpalou/moodle
Mihail Geshoski [Mon, 30 Mar 2026 01:56:38 +0000 (09:56 +0800)]
Merge branch 'MDL-88086-main' of https://github.com/dpalou/moodle

9 days agoMerge branch 'MDL-87509-main' of https://github.com/jfederico/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:52:09 +0000 (08:52 +0700)]
Merge branch 'MDL-87509-main' of https://github.com/jfederico/moodle

9 days agoMerge branch 'MDL-85544-main' of https://github.com/Jayce0808/moodle
Mihail Geshoski [Mon, 30 Mar 2026 01:49:59 +0000 (09:49 +0800)]
Merge branch 'MDL-85544-main' of https://github.com/Jayce0808/moodle

9 days agoMerge branch 'MDL-87471' of https://github.com/paulholden/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:48:30 +0000 (08:48 +0700)]
Merge branch 'MDL-87471' of https://github.com/paulholden/moodle

9 days agoMerge branch 'MDL-86298-main' of https://github.com/timhunt/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:44:16 +0000 (08:44 +0700)]
Merge branch 'MDL-86298-main' of https://github.com/timhunt/moodle

9 days agoMerge branch 'MDL-88309-main' of https://github.com/andimendunia/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:40:46 +0000 (08:40 +0700)]
Merge branch 'MDL-88309-main' of https://github.com/andimendunia/moodle

9 days agoMerge branch 'MDL-88039-main' of https://github.com/muhammadarnaldo/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:36:52 +0000 (08:36 +0700)]
Merge branch 'MDL-88039-main' of https://github.com/muhammadarnaldo/moodle

9 days agoMerge branch 'MDL-88190-main' of https://github.com/lucaboesch/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:34:15 +0000 (08:34 +0700)]
Merge branch 'MDL-88190-main' of https://github.com/lucaboesch/moodle

9 days agoMerge branch 'MDL-88290-main' of https://github.com/junpataleta/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:30:45 +0000 (08:30 +0700)]
Merge branch 'MDL-88290-main' of https://github.com/junpataleta/moodle

9 days agoMerge branch 'MDL-88012-main' of https://github.com/christianabila/moodle
Huong Nguyen [Mon, 30 Mar 2026 01:28:11 +0000 (08:28 +0700)]
Merge branch 'MDL-88012-main' of https://github.com/christianabila/moodle

11 days agoAutomatically generated installer lang files
AMOS bot [Sat, 28 Mar 2026 00:09:44 +0000 (00:09 +0000)]
Automatically generated installer lang files

11 days agoMDL-88190 theme_boost: Equal paddings around "Edit mode" toggle.
Luca Bösch [Wed, 11 Mar 2026 19:21:00 +0000 (20:21 +0100)]
MDL-88190 theme_boost: Equal paddings around "Edit mode" toggle.

12 days agoMoodle release 5.2beta v5.2.0-beta
Huong Nguyen [Fri, 27 Mar 2026 08:42:27 +0000 (15:42 +0700)]
Moodle release 5.2beta

12 days agoNOBUG: Add upgrade notes
Huong Nguyen [Fri, 27 Mar 2026 08:42:27 +0000 (15:42 +0700)]
NOBUG: Add upgrade notes

12 days agoMerge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Huong Nguyen [Fri, 27 Mar 2026 08:41:59 +0000 (15:41 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install

12 days agoMDL-87632 availability_completion: Fix subsection previous activity
Andi Permana [Fri, 20 Mar 2026 11:17:29 +0000 (18:17 +0700)]
MDL-87632 availability_completion: Fix subsection previous activity

When delegated sections (subsections) use 'Previous activity with completion'
restrictions, the previous activity was incorrectly calculated from the global
course iteration context instead of the subsection's local context.

13 days agoMDL-88309 auth: fix loginwith string to use placeholder
Andi Permana [Thu, 26 Mar 2026 07:32:22 +0000 (14:32 +0700)]
MDL-88309 auth: fix loginwith string to use placeholder

13 days agoMDL-88086 quiz: Fix feedback returned by WS get_user_quiz_attempts
Dani Palou [Mon, 2 Mar 2026 07:31:01 +0000 (08:31 +0100)]
MDL-88086 quiz: Fix feedback returned by WS get_user_quiz_attempts

13 days agoMDL-88086 quiz: Abstract and reuse create/answer logic in unit tests
Dani Palou [Fri, 27 Feb 2026 11:16:01 +0000 (12:16 +0100)]
MDL-88086 quiz: Abstract and reuse create/answer logic in unit tests

13 days agoMDL-88086 quiz: Support overallfeedback in test generator
Dani Palou [Fri, 27 Feb 2026 11:07:58 +0000 (12:07 +0100)]
MDL-88086 quiz: Support overallfeedback in test generator

13 days agoMDL-88012 core: Force unique MessageID when sending bulk mail
Christian Abila [Thu, 19 Feb 2026 10:55:28 +0000 (11:55 +0100)]
MDL-88012 core: Force unique MessageID when sending bulk mail

13 days agoMerge branch 'MDL-81241-main' of https://github.com/junpataleta/moodle
Huong Nguyen [Thu, 26 Mar 2026 03:51:05 +0000 (10:51 +0700)]
Merge branch 'MDL-81241-main' of https://github.com/junpataleta/moodle

13 days agoMerge branch 'MDL-88270-main' of https://github.com/davewoloszyn/moodle
Mihail Geshoski [Thu, 26 Mar 2026 03:33:40 +0000 (11:33 +0800)]
Merge branch 'MDL-88270-main' of https://github.com/davewoloszyn/moodle

13 days agoMerge branch 'MDL-88279-main' of https://github.com/meirzamoodle/moodle
Huong Nguyen [Thu, 26 Mar 2026 00:49:21 +0000 (07:49 +0700)]
Merge branch 'MDL-88279-main' of https://github.com/meirzamoodle/moodle

13 days agoAutomatically generated installer lang files
AMOS bot [Thu, 26 Mar 2026 00:07:58 +0000 (00:07 +0000)]
Automatically generated installer lang files

13 days agoMDL-86298 filepicker: prevent renaming file to disallowed extensions
Hai Nguyen Van [Wed, 3 Dec 2025 10:28:29 +0000 (10:28 +0000)]
MDL-86298 filepicker: prevent renaming file to disallowed extensions

13 days agoMDL-87957 mod_bigbluebuttonbn: Fix meeting events
Shamiso Jaravaza [Tue, 24 Feb 2026 17:13:24 +0000 (10:13 -0700)]
MDL-87957 mod_bigbluebuttonbn: Fix meeting events

13 days agoMDL-87848 questions: Move question count sql to question_counts
Mark Johnson [Mon, 2 Mar 2026 15:16:20 +0000 (15:16 +0000)]
MDL-87848 questions: Move question count sql to question_counts

Now that we have multiple places that use question counts, it's a good
idea to have the queries generated in the same place, so that we can
make sure the counts treat things like versions and statuses
consistently.

13 days agoMDL-87848 questions: Update question_counts route
Mark Johnson [Thu, 15 Jan 2026 14:10:10 +0000 (14:10 +0000)]
MDL-87848 questions: Update question_counts route

Updates the parameters of the bank::question_counts() route for
consistency with bank::switcher(), and adds response metadata.

13 days agoMDL-87509 mod_bigbluebuttonbn: Fix protected recording link bug
jfedericobn [Wed, 25 Mar 2026 13:25:01 +0000 (13:25 +0000)]
MDL-87509 mod_bigbluebuttonbn: Fix protected recording link bug

2 weeks agoMDL-87471 tiny_autosave: use user context to retrieve draft files.
Paul Holden [Wed, 17 Dec 2025 16:16:00 +0000 (16:16 +0000)]
MDL-87471 tiny_autosave: use user context to retrieve draft files.

2 weeks agoMDL-88285 core_courseformat: Dimmed styling to restricted sections
Laurent David [Wed, 25 Mar 2026 10:12:45 +0000 (11:12 +0100)]
MDL-88285 core_courseformat: Dimmed styling to restricted sections