Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
496 commits
Select commit Hold shift + click to select a range
6bf20cb
Merge branch 'MDL-86446-501' of https://github.com/davewoloszyn/moodl…
mickhawkins Jun 22, 2026
4eb79e7
Merge branch 'MDL-86190-501' of https://github.com/Kredelirious/moodl…
HuongNV13 Jun 22, 2026
949e339
MDL-79763 core: Fix upgrade notes
HuongNV13 Jun 24, 2026
bec8b8c
Merge branch 'install_501_STABLE' of https://git.in.moodle.com/amosbo…
HuongNV13 Jun 24, 2026
c073ae8
NOBUG: Add upgrade notes
HuongNV13 Jun 24, 2026
e2ccfb6
weekly release 5.1.5+
HuongNV13 Jun 24, 2026
8dbd36e
Merge branch 'MDL-88931-501' of https://github.com/paulholden/moodle …
HuongNV13 Jun 25, 2026
c2dca8b
Merge branch 'MDL-87912-501' of https://github.com/paulholden/moodle …
HuongNV13 Jun 25, 2026
c1062e2
Merge branch 'MDL-88328-501' of https://github.com/vuvanhieu143/moodl…
HuongNV13 Jun 25, 2026
9eb0122
Merge branch 'MDL-74431_501_STABLE' of https://github.com/marxjohnson…
HuongNV13 Jun 25, 2026
7c36607
Merge branch 'MDL-88897-501' of https://github.com/paulholden/moodle …
HuongNV13 Jun 25, 2026
19fc2b9
Merge branch 'MDL-88930-501' of https://github.com/paulholden/moodle …
HuongNV13 Jun 26, 2026
60cc904
Merge branch 'MDL-87177_501_STABLE' of https://github.com/marxjohnson…
HuongNV13 Jun 26, 2026
dc2cdf3
Merge branch 'MDL-88932-501' of https://github.com/paulholden/moodle …
junpataleta Jun 26, 2026
6af9117
MDL-88956 assignsubmission_onlinetext: label the "Word limit" field.
paulholden Jun 26, 2026
1f86b19
MDL-88407 core_grades: Fix grade penalty corrupting rawgrade
AnupamaSarjoshi Apr 29, 2026
4aef52c
MDL-88407 mod_assign: Apply grade item factors to penalised grades
AnupamaSarjoshi Jun 22, 2026
f2b14c1
MDL-88407 mod_assign: Add unit tests for grade penalty calculation
AnupamaSarjoshi Jun 22, 2026
7bb4384
MDL-88742 forms: ignore invalid nodes on autocomplete keypress.
paulholden May 18, 2026
6c3f7d4
MDL-88980 webservice: correct reference to token creater clause.
paulholden Jun 18, 2026
dfa54a8
MDL-88959 theme_boost: Darken `$form-switch-color`
junpataleta Jun 26, 2026
b9cf5f1
MDL-88231 timezones: pre-map badzones; normalise fixture timezones
jrchamp Mar 16, 2026
93acc36
MDL-88231 timezones: catch timezone mapping failures
jrchamp Mar 16, 2026
29771e0
Merge branch 'MDL-88231-501' of https://github.com/lameze/moodle into…
HuongNV13 Jun 29, 2026
05f6194
MDL-85612 behat: wait for the dialogue exist before clicking
lameze Jun 23, 2026
26d6f26
MDL-85612 behat: Rename duplicate Behat scenario for clarity
rxdelacruz Jun 25, 2026
e4a4565
Merge branch 'MDL-85612-501' of https://github.com/lameze/moodle into…
HuongNV13 Jun 29, 2026
d0f5be1
weekly release 5.1.5+
mickhawkins Jun 30, 2026
a8468be
MDL-88544 filter: Striped table with BS5.
lucaboesch Apr 24, 2026
4090e95
MDL-88788 contentbank: Style "display unlisted" checkbox correctly.
lucaboesch May 21, 2026
496119c
Merge branch 'MDL-88959-501' of https://github.com/junpataleta/moodle…
HuongNV13 Jul 1, 2026
b9e04d1
Merge branch 'MDL-88788-501' of https://github.com/lucaboesch/moodle …
HuongNV13 Jul 1, 2026
be26e56
Merge branch 'MDL-88544-501' of https://github.com/lucaboesch/moodle …
HuongNV13 Jul 1, 2026
f064c22
MDL-87666 behat: Improve Behat navigation to course participants
rxdelacruz May 5, 2026
481c2bc
MDL-88460 reportbuilder: cast message schedule field to correct type.
paulholden Jun 24, 2026
4ca9cb2
MDL-87222 tiny_media: Fix CORS policy error
rjnl Jun 30, 2026
89d63bc
MDL-88653 ddwtos: Fix answers display correctly with long text
vuvanhieu143 May 6, 2026
90aba3c
MDL-88354 core: Skip empty destination links in sortable list dialogue
Snl-FGH Jun 26, 2026
0db8510
MDL-88354 theme_boost: Add bottom spacing between sortable list items
junpataleta Jul 2, 2026
5e56c68
Merge branch 'MDL-88354-501' of https://github.com/junpataleta/moodle…
junpataleta Jul 2, 2026
83db90e
MDL-88528 theme_boost: Constrain site logo on the nav bar
junpataleta Jun 24, 2026
668f38d
MDL-88167 js: Fix the `css` task for `grunt watch`
junpataleta Jul 2, 2026
00b71cb
MDL-79755 block_myoverview: Course name/actions button correctly encoded
lucaboesch Dec 7, 2025
6da6ee4
Merge branch 'MDL-88407-501' of https://github.com/AnupamaSarjoshi/mo…
safatshahin Jul 6, 2026
3535270
Merge branch 'MDL-88653-501' of https://github.com/vuvanhieu143/moodl…
safatshahin Jul 6, 2026
df0b276
Merge branch 'MDL-88528-501' of https://github.com/junpataleta/moodle…
HuongNV13 Jul 6, 2026
c503b09
Merge branch 'MDL-88980-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 6, 2026
cc9ad61
MDL-88961 calendar: Allow calendar popover to be dismissed by Escape key
junpataleta Jul 3, 2026
6fa9256
Merge branch 'MDL-87666-501' of https://github.com/rxdelacruz/moodle …
HuongNV13 Jul 6, 2026
6347623
MDL-88878 aiprovider_openai: Fix json_encode escaping slashes
nersesov Jun 8, 2026
f744a9f
MDL-79745 course: Preserve section visibility and restrictions on import
marinaglancy Jun 16, 2025
4723d05
MDL-88964 editor_tiny: Improve TinyMCE editor accessibility
junpataleta Jul 6, 2026
cf09c93
MDL-88964 mod_page: Add accessibility tests on page settings
junpataleta Jul 6, 2026
d857f49
MDL-88964 editor_tiny: Use lang string for a more accessible iframe name
junpataleta Jul 7, 2026
044a138
MDL-88951 tiny_media: improve accessibility of image modal.
paulholden Jun 25, 2026
fda182c
MDL-88951 tiny_media: re-use new plugin delete icon definition.
paulholden Jul 7, 2026
cbad49e
MDL-84915 mod_data: improved handling of 0/empty in activity search.
paulholden May 11, 2017
6c1bac4
MDL-88963 blocks: accessible sizing for block move/action controls.
paulholden Jun 24, 2026
73a2f11
MDL-88963 blocks: wrap heading text in block header.
paulholden Jul 7, 2026
fa95c8b
Automatically generated installer lang files
Jul 8, 2026
e2bb8db
Merge branch 'install_501_STABLE' of https://git.in.moodle.com/amosbo…
HuongNV13 Jul 8, 2026
76bfcfd
NOBUG: Add upgrade notes
HuongNV13 Jul 8, 2026
5f564eb
weekly release 5.1.5+
HuongNV13 Jul 8, 2026
70b94b8
MDL-87947 behat: Wait until the iframe is completely loaded
lucaboesch Mar 14, 2026
6586b39
MDL-87947 behat: update remaining iframe handling steps
rxdelacruz Jul 7, 2026
dffadba
MDL-86525 core_files: Only redact EXIF if present
leonstr Jun 29, 2026
369e56c
MDL-86525 core_files: Correct EXIF config setting in tests
davewoloszyn Jul 8, 2026
cc5a78b
Merge branch 'MDL-88951-501' of https://github.com/paulholden/moodle …
junpataleta Jul 8, 2026
c8843da
Merge branch 'MDL-79755-501' of https://github.com/lucaboesch/moodle …
HuongNV13 Jul 8, 2026
5a952ef
Merge branch 'MDL-84915-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 8, 2026
de2c265
Merge branch 'MDL-88624-501' of https://github.com/dpalou/moodle into…
HuongNV13 Jul 8, 2026
da357aa
Merge branch 'MDL-87947-501' of https://github.com/rxdelacruz/moodle …
HuongNV13 Jul 8, 2026
5686719
Merge branch 'MDL-88202-MOODLE_501_STABLE' of https://github.com/awag…
HuongNV13 Jul 8, 2026
d2f1b4b
Merge branch 'MDL-88963-501' of https://github.com/paulholden/moodle …
junpataleta Jul 8, 2026
7738d92
MDL-88963 core_my: Add accessibility Behat coverage when adding blocks
junpataleta Jul 8, 2026
691ba16
MDL-70346 forms: apply disabledIf to nested grouped elements.
paulholden Jun 15, 2026
04d626b
MDL-70346 forms: correctly handle disabled date group elements.
paulholden Jun 15, 2026
69a815e
MDL-87686 task: Add guard against orphaned tasks
rjnl Jul 8, 2026
65d6ebd
Merge branch 'MDL-88956-501' of https://github.com/paulholden/moodle …
junpataleta Jul 9, 2026
3659a15
MDL-88958 comment: fix WCAG 2.2 colour contrast and use of colour
mattporritt Jul 8, 2026
a4f8d59
Merge branch 'MDL-88460-501' of https://github.com/paulholden/moodle …
Jul 9, 2026
ec168ba
Merge branch 'MDL-88961-501' of https://github.com/junpataleta/moodle…
paulholden Jul 9, 2026
3baaa10
MDL-77208 theme_boost: Make help links keyboard accessible
mattporritt Jun 29, 2026
3aab709
Merge branch 'MDL-86525-501' of https://github.com/davewoloszyn/moodl…
HuongNV13 Jul 10, 2026
8c4fd7a
Merge branch 'MOODLE_501_STABLE_MDL-79745' of https://github.com/matt…
HuongNV13 Jul 10, 2026
b7d3454
Merge branch 'MDL-87222-501' of https://github.com/rjnl/moodle into M…
HuongNV13 Jul 10, 2026
b775c1a
Merge branch 'MDL-88878-501' of https://github.com/yusufwib01/moodle …
HuongNV13 Jul 10, 2026
3288c5c
MDL-89071 mod_assign: remove incorrect "intro" file serving check.
paulholden Jul 1, 2026
6ac382b
Merge branch 'MDL-88964-501' of https://github.com/junpataleta/moodle…
HuongNV13 Jul 10, 2026
092263a
Merge branch 'MDL-70346-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 10, 2026
e99a0fd
Merge branch 'MDL-88742-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 10, 2026
4f160c1
MDL-89055 ai: make placement availability contextual
mattporritt Jul 12, 2026
9538832
MDL-81535 mod_lti: limit caret hiding to reportbuilder table
Snl-FGH Mar 10, 2026
713517e
MDL-88264 tool_lp: remove unused jQuery require
Snl-FGH Mar 23, 2026
3534b91
MDL-88264 core: remove unused jQuery require from search_input_navbar
Snl-FGH Mar 23, 2026
b281274
MDL-83688 grade: handle gradebook categories named 0 (zero).
paulholden Nov 11, 2024
5867b48
MDL-88964 editor_tiny: Add a separator role for the resize handle
junpataleta Jul 13, 2026
42695b4
MDL-87794 core: fix formula escaping corrupting CSV import values
artemgaranin Apr 15, 2026
6017e49
NOBUG: Fixed SVG browser compatibility
mickhawkins Jul 14, 2026
231b332
NOBUG: Add upgrade notes
mickhawkins Jul 14, 2026
ea0bc52
weekly release 5.1.5+
mickhawkins Jul 14, 2026
e1bc2fd
MDL-89096 cli: Fix purge of missing subplugins
djarran Jul 6, 2026
8551255
Automatically generated installer lang files
Jul 15, 2026
e861a1d
Merge branch 'MDL-87686-501' of https://github.com/rjnl/moodle into M…
HuongNV13 Jul 15, 2026
c31d44d
Merge branch 'MDL-88861-MOODLE_501_STABLE' of https://github.com/PhMe…
HuongNV13 Jul 15, 2026
5150764
Merge branch 'MDL-88264-501_remove-unused-jquery-requires' of https:/…
HuongNV13 Jul 15, 2026
6e4ea3a
MDL-77208 theme_boost: Avoid rebuilding open help popovers
mattporritt Jul 15, 2026
3a12350
MDL-88644 core_files: Preserve draft source metadata in draft copies
cameron1729 May 5, 2026
8e41498
Merge branch 'MDL-87794-501' of https://github.com/davewoloszyn/moodl…
HuongNV13 Jul 15, 2026
ec6dabd
Merge branch 'MDL-81535-501_missing_caret_icons' of https://github.co…
HuongNV13 Jul 15, 2026
04690c4
Merge branch 'MDL-83688-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 15, 2026
12f97fa
MDL-86887 core: Define environment requirements for Moodle 5.3
HuongNV13 Jul 15, 2026
81dba05
MDL-85256 messageinbound: handle incomplete IMAP body structures
mkpelletier May 4, 2026
1ad9924
MDL-88958 comment: remove obsolete placeholder handling
mattporritt Jul 15, 2026
467d882
Merge branch 'MOODLE_501_STABLE_MDL-77208' of https://github.com/matt…
junpataleta Jul 16, 2026
252c61d
Merge branch 'MOODLE_501_STABLE_MDL-88958' of https://github.com/matt…
junpataleta Jul 16, 2026
62b3ba5
MDL-89008 tiny_recordrtc: Ignore file limit for allowed users
vuvanhieu143 Jun 24, 2026
d2b88f2
MDL-89203 core_courseformat: Load completionlib at file scope
cameron1729 Jul 16, 2026
121700b
MDL-80413 mod_lesson: Implement data generators for lesson attempts
Kredelirious May 21, 2026
c16f56a
MDL-80413 mod_lesson: final fixes for attempt data generator
lameze Jul 13, 2026
e46a12f
MDL-84888 core: observe debug settings in router exception response.
paulholden Jul 1, 2026
daaa0e4
MDL-88789 questions: Fix alignment of cloze multichoice in correction
srobotta May 27, 2026
1bb7331
MDL-88514 mod_assign: Overrides do not affect staff edit submission
sammarshallou Apr 21, 2026
e16b91b
MDL-88743 behat: remove extra quote in error
leonstr May 18, 2026
577bbad
Merge branch 'MDL-89203-501' of https://github.com/cameron1729/moodle…
sarjona Jul 16, 2026
f28c8e7
MDL-88962 core_courseformat: Add status messages when moving items
junpataleta Jul 6, 2026
6b6b657
MDL-88128 lang: Refactor test string manager for reuse
brendanheywood Mar 6, 2026
cdd7d25
MDL-88128 lang: Improve detection of Accept-Language
brendanheywood Mar 6, 2026
b3f67c7
MDL-89012 core_question: Simplifying adding tags to questions
andrewnicols Jun 25, 2026
8f2f0e6
MDL-89012 behat: Replace manual steps to add question tags
mioyu-ubiq Jun 26, 2026
2930371
MDL-89012 core_question: Add PHPUnit test for question tags
rxdelacruz Jul 7, 2026
e8742bc
MDL-88746 courseformat: filter cm name in delete confirmation dialog.
paulholden May 20, 2026
0f21a51
MDL-89055 ai: strengthen tests, decouple tiny AI placement dep
mattporritt Jul 18, 2026
b1452cf
Merge branch 'MDL-89012-501' of https://github.com/lameze/moodle into…
HuongNV13 Jul 20, 2026
2c93e7f
Merge branch 'MDL-88743-behaterrorquote-501' of https://github.com/le…
HuongNV13 Jul 20, 2026
42aaa5e
MDL-86290 glossary: Fix 'ALL' pagination link showing no entries
Mar 13, 2026
b397763
MDL-86290 glossary: Sort search results alphabetically
davewoloszyn Jul 14, 2026
43217e5
MDL-86290 glossary: Hide pagination bar when viewing all entries
davewoloszyn Jul 16, 2026
de59978
Merge branch 'MDL-88644-501' of https://github.com/davewoloszyn/moodl…
HuongNV13 Jul 20, 2026
947a9fd
MDL-76966 assignfeedback_editpdf: Perform escapeshellarg without pageno
djarran Feb 10, 2026
81d2f27
Merge branch 'MDL-85256-501' of https://github.com/muhammadarnaldo/mo…
HuongNV13 Jul 20, 2026
b97f62d
Merge branch 'MDL-88690-dmlerrorareare-501' of https://github.com/leo…
HuongNV13 Jul 20, 2026
a87da68
MDL-87089 calendar: Automate calendar event filters
Kredelirious Apr 28, 2026
03fd0d9
MDL-87089 core_calendar: fix site event generator and expand filter test
lameze Jul 17, 2026
6616a95
Merge branch 'MDL-88428-501' of https://github.com/catalyst/moodle in…
HuongNV13 Jul 20, 2026
897b10c
Merge branch 'MDL-87089-501' of https://github.com/lameze/moodle into…
HuongNV13 Jul 20, 2026
7f76acb
Merge branch 'MDL-88658-MOODLE_501_STABLE' of https://github.com/PhMe…
HuongNV13 Jul 20, 2026
bece240
Merge branch 'MDL-88746-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 20, 2026
58c314a
Merge branch 'MDL-88514-m501' of https://github.com/sammarshallou/moo…
HuongNV13 Jul 20, 2026
1aea467
Merge branch 'MDL-88789-501' of https://github.com/srobotta/moodle in…
HuongNV13 Jul 20, 2026
66a6e2d
Merge branch 'MDL-80413-501' of https://github.com/lameze/moodle into…
HuongNV13 Jul 20, 2026
8466800
MDL-88958 comment: emphasise author link
mattporritt Jul 20, 2026
85afacb
Merge branch 'MOODLE_501_STABLE_MDL-88958' of https://github.com/matt…
HuongNV13 Jul 20, 2026
dde7271
MDL-79587 question stats: Add safeguards for missing statistics
vuvanhieu143 Jun 10, 2026
530c513
Merge branch 'install_501_STABLE' of git.in.moodle.com:amosbot/moodle…
HuongNV13 Jul 22, 2026
a853649
NOBUG: Add upgrade notes
HuongNV13 Jul 22, 2026
eb03939
weekly release 5.1.5+
HuongNV13 Jul 22, 2026
9076f20
MDL-87395 tag: chunk id lists to avoid DB param limit
rjnl Jul 22, 2026
6962e03
MDL-88248 tool_lp: Filter cohort names on 'Cohorts synced' page.
lucaboesch Mar 19, 2026
7eb4dcb
MDL-88175 competencies: "Points required are met" field's width.
lucaboesch Mar 10, 2026
eb8920f
MDL-86170 core_completion: fix private property error
rhell4 Jul 13, 2026
d7e5a30
Merge branch 'MDL-89008-501' of https://github.com/vuvanhieu143/moodl…
HuongNV13 Jul 23, 2026
78ba536
Merge branch 'MDL-88167-501' of https://github.com/junpataleta/moodle…
HuongNV13 Jul 23, 2026
f11cfaf
Merge branch 'MDL-88128-accept-lang-MOODLE_501_STABLE' of https://git…
HuongNV13 Jul 23, 2026
462aab0
Merge branch 'MDL-79587-501' of https://github.com/vuvanhieu143/moodl…
HuongNV13 Jul 23, 2026
ef33df6
MDL-89252 core_customfield: Use semantic button for "Add a new category"
junpataleta Jul 23, 2026
b6beb57
MDL-89252 customfield: Behat test for creating categories via keyboard
junpataleta Jul 23, 2026
eb449f4
MDL-89252 core_customfield: Include movetitle in reload_template_returns
junpataleta Jul 23, 2026
6e33a69
MDL-88945 tiny_media: Fix image size in editor
rjnl Jul 8, 2026
165a28a
MDL-88955 theme_boost: Make grading header non-sticky at high zoom
mattporritt Jul 24, 2026
bd6fb0c
Merge branch 'MDL-87395-501' of https://github.com/rjnl/moodle into M…
HuongNV13 Jul 24, 2026
a744f24
Merge branch 'MDL-84888-501' of https://github.com/paulholden/moodle …
HuongNV13 Jul 24, 2026
261444b
Merge branch 'MDL-86290-501' of https://github.com/davewoloszyn/moodl…
HuongNV13 Jul 24, 2026
e94d804
Merge branch 'MDL-88175-501' of https://github.com/lucaboesch/moodle …
HuongNV13 Jul 24, 2026
3b951cd
Merge branch 'MDL-76966-501' of https://github.com/djarran/moodle int…
HuongNV13 Jul 24, 2026
d2f8fd8
Merge branch 'MDL-87974-MOODLE_501_STABLE' of https://github.com/Hann…
HuongNV13 Jul 24, 2026
c9ce34a
MDL-68769 core_course: Skip updating calendar for deleted course.
TomoTsuyuki Nov 23, 2022
b5664c2
MDL-68769 core_course: Add sanity check for broken course module.
Mar 17, 2026
d55d2cc
MDL-88960 theme_boost: Reflow activity chooser for narrow/zoomed views
mattporritt Jul 24, 2026
95f577e
MDL-88446 media_videojs: Fix ogvtech state leaking into YouTube embeds
tsmilan Apr 16, 2026
2091ad8
Merge branch 'MDL-88945-501' of https://github.com/rjnl/moodle into M…
HuongNV13 Jul 27, 2026
3e50e3b
Merge branch 'MDL-88248-501' of https://github.com/lucaboesch/moodle …
HuongNV13 Jul 27, 2026
425f2cc
Merge branch 'MDL-86170-501' of https://github.com/rhell4/moodle into…
HuongNV13 Jul 27, 2026
439c49c
MDL-85516 assign: Include all active enrolments in participants
bwalkerl Jan 15, 2026
2f19e23
MDL-89221 theme_boost: Remove the pagination negative margin on editing
junpataleta Jul 20, 2026
32afc51
MDL-89221 block_recentlyaccessedcourses: Add a11y Behat tests
junpataleta Jul 20, 2026
405601a
Merge branch 'MDL-86887-501' of https://github.com/HuongNV13/moodle i…
mickhawkins Jul 27, 2026
3628a42
MDL-89274 qbank: Make question category transfer test order independent
cameron1729 Jul 27, 2026
88d511b
MDL-88173 qtype_multichoice: Enhance screen reader support
Fragonite Mar 28, 2026
f906099
MDL-89283 tool_admin_presets: Fix random Behat failure
HuongNV13 Jul 28, 2026
e7a7511
NOBUG: Add upgrade notes
mickhawkins Jul 28, 2026
3167941
weekly release 5.1.5+
mickhawkins Jul 28, 2026
cdb2c67
Automatically generated installer lang files
Jul 29, 2026
24b6c0b
MDL-88652 block_recentlyaccesseditems: Handle stale recent item cmids
cameron1729 May 7, 2026
7ff4c66
MDL-87581 tool_uploadcourse: Restore template settings on upload
Jan 6, 2026
bbdf86f
Merge branch 'MDL-88173-501' of https://github.com/catalyst/moodle in…
junpataleta Jul 29, 2026
a0e9cd9
Merge branch 'MDL-89221-501-2' of https://github.com/junpataleta/mood…
HuongNV13 Jul 30, 2026
1768eff
MDL-89307 core_ai: fix incorrect page url
marinaglancy Jul 30, 2026
be150af
Merge branch 'MDL-89252-501' of https://github.com/junpataleta/moodle…
paulholden Jul 30, 2026
f6ccab2
Merge branch 'MDL-88962-501' of https://github.com/junpataleta/moodle…
paulholden Jul 30, 2026
3f51371
MDL-88957 core_customfield: Add status message on category creation
mattporritt Jun 30, 2026
aa75a3d
Merge branch 'MDL-89283-501' of https://github.com/HuongNV13/moodle i…
safatshahin Jul 31, 2026
58d9fba
Merge branch 'MOODLE_501_STABLE_MDL-89055' of https://github.com/matt…
safatshahin Jul 31, 2026
81f9097
Merge branch 'MDL-89096-501' of https://github.com/djarran/moodle int…
HuongNV13 Jul 31, 2026
bdc7357
Merge branch 'MOODLE_501_STABLE_MDL-88960' of https://github.com/matt…
HuongNV13 Jul 31, 2026
9162d58
Merge branch 'MDL-88446-MOODLE_501_STABLE' of https://github.com/tsmi…
HuongNV13 Jul 31, 2026
d9a5cf9
Merge branch 'MDL-87581-501' of https://github.com/AnupamaSarjoshi/mo…
HuongNV13 Jul 31, 2026
1c884b2
Merge branch 'MDL-68769-501' of https://github.com/cameron1729/moodle…
HuongNV13 Jul 31, 2026
4c75c2c
Merge branch 'MDL-85516-assign-MOODLE_501_STABLE' of https://github.c…
HuongNV13 Jul 31, 2026
1a3daaf
Merge branch 'MOODLE_501_STABLE_MDL-88957' of https://github.com/matt…
paulholden Jul 31, 2026
c0908d2
Merge branch 'MOODLE_501_STABLE_MDL-88955' of https://github.com/matt…
paulholden Jul 31, 2026
9300ebf
Merge branch 'MDL-89071-501' of https://github.com/paulholden/moodle …
HuongNV13 Aug 3, 2026
1c2f77a
MDL-89100 core: use core\clock for get_next_scheduled_time
jrchamp Jul 7, 2026
e2004d0
MDL-89100 core: make scheduled task tests independent of the time of day
lameze Jul 31, 2026
bf5589a
MDL-88921 badges: interpolate data into notification message subject.
paulholden Jun 15, 2026
b089a1d
MDL-88988 behat: Automate MDLQA-2436 incomplete marking guides
Kredelirious Jun 24, 2026
d2164de
MDL-88988 behat: Tidy up test and drop redundant coverage
lameze Aug 3, 2026
da96253
MDL-89241 lang: Import fixed English strings (en_fix)
wildgirl Jul 30, 2026
11f6862
MDL-89241 lang: Use the fixed strings in tests, too
mudrd8mz Jul 30, 2026
e15ef46
Merge branch 'MDL-89307-501' of https://github.com/marinaglancy/moodl…
HuongNV13 Aug 5, 2026
3465108
Merge branch 'MDL-89274-501' of https://github.com/cameron1729/moodle…
HuongNV13 Aug 5, 2026
2d92e88
Merge branch 'MDL-89241-501-enfix' of https://github.com/AnupamaSarjo…
HuongNV13 Aug 5, 2026
c6ed043
Merge branch 'MDL-89100-501' of https://github.com/lameze/moodle into…
HuongNV13 Aug 5, 2026
6eec6ab
Merge branch 'MDL-88988-501' of https://github.com/lameze/moodle into…
HuongNV13 Aug 5, 2026
709c908
Merge branch 'MDL-88559-501' of https://github.com/hribeir0/moodle in…
HuongNV13 Aug 5, 2026
d4ba9c7
Merge branch 'MDL-88921-501' of https://github.com/paulholden/moodle …
HuongNV13 Aug 5, 2026
152c67a
MDL-87518 reportbuilder: specify fake user to load profile fields.
paulholden May 15, 2026
a5bfddd
MDL-88585 gradepenalty: access checks prior to recalculation.
paulholden Apr 28, 2026
d0ba065
MDL-88593 enrol_manual: observe disabled state of plugin.
paulholden Apr 29, 2026
942215e
MDL-88587 aiplacement_editor: correct capability for generating image.
paulholden Apr 29, 2026
cf5c92a
MDL-88981 mod_forum: Add label param to post templates
davewoloszyn Jun 30, 2026
94dcf4a
MDL-88538 enrol_manual: ensure selected group belongs to course.
paulholden Apr 23, 2026
3a3c9a7
MDL-88335 auth: escape username display field for password reset.
paulholden Jun 16, 2026
5e69de4
MDL-89078 reportbuilder: stricter validation of audience class name.
paulholden Jul 2, 2026
42bbf83
MDL-89180 core: Improve signup password policy validation
meirzamoodle Jul 15, 2026
4aa28cb
MDL-89180 core: add regression test for signup password policy user id
meirzamoodle Aug 4, 2026
6c82ede
MDL-84545 gradeimport_xml: Improve validation in XML grade import
cli-ish Jun 26, 2026
e461f4d
Merge branch 'MDL-88652-501' of https://github.com/cameron1729/moodle…
HuongNV13 Aug 5, 2026
57d77b1
MDL-88779 core: treat IPv4-mapped IPv6 as IPv4
yusufwib01 Jun 2, 2026
29a6558
MDL-89383 qbank: Improve param handling
safatshahin Aug 5, 2026
ecc88c4
MDL-89381 core_grades: Improve capability check in get_gradable_users
davewoloszyn Aug 5, 2026
9ebf819
Automatically generated installer lang files
Aug 6, 2026
22c740a
MDL-88779 core: Improve IPv4-IPv6 mapping
HuongNV13 Aug 6, 2026
a50be59
Automatically generated installer lang files
Aug 7, 2026
7cc2c9a
Merge branch 'install_501_STABLE' of git.in.moodle.com:amosbot/moodle…
HuongNV13 Aug 7, 2026
9d75475
NOBUG: Add upgrade notes
HuongNV13 Aug 7, 2026
a86c860
weekly release 5.1.5+
HuongNV13 Aug 7, 2026
70731f9
NOBUG: Add upgrade notes
HuongNV13 Aug 8, 2026
17513f6
Moodle release 5.1.6
HuongNV13 Aug 8, 2026
9aeec8d
Merge tag 'v5.1.6' into UCSFCLE_501_STABLE
github-actions[bot] Aug 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .grunt/tasks/stylelint.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,11 @@ module.exports = grunt => {
return [scssMatch];
}

if (grunt.moodleEnv.runDir.startsWith('theme')) {
if (grunt.moodleEnv.runDir.startsWith('public/theme')) {
return [`*/${scssMatch}`];
}

return [`theme/*/${scssMatch}`];
return [`public/theme/*/${scssMatch}`];
};

// Add the watch configuration for rawcss, and scss.
Expand Down
50 changes: 50 additions & 0 deletions UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,56 @@ More detailed information on key changes can be found in the [Developer update n

The format of this change log follows the advice given at [Keep a CHANGELOG](https://keepachangelog.com).

## 5.1.6

### core

#### Changed

- The `search` landmark role in the `core/search_input_auto` template is enclosed within a `searchrole` Mustache block so that templates that use this template can override and remove the `search` landmark role when deemed unnecessary.

For more information see [MDL-88833](https://tracker.moodle.org/browse/MDL-88833)

### assignfeedback_editpdf

#### Fixed

- Fixed multi-page assignment feedback PDF conversion on Windows. Ghostscript's page number placeholder is no longer stripped by escapeshellarg().

For more information see [MDL-76966](https://tracker.moodle.org/browse/MDL-76966)

### block_myoverview

#### Changed

- For the correct display of title and context menus, fields like fullname are returned with numeric HTML entities (<) instead of named entities (<) and unencoded quotes.

For more information see [MDL-79755](https://tracker.moodle.org/browse/MDL-79755)

### core\task\adhoc_task

#### Added

- Added set_soft_retry_delay(), get_soft_retry_delay() and is_adhoc_task_delayed() methods. Call set_soft_retry_delay() from within an adhoc task's execute() method to request a soft retry via manager::adhoc_task_delayed() without marking the task as failed. Pass null for automatic exponential backoff or a positive integer for an explicit delay in seconds.

For more information see [MDL-79763](https://tracker.moodle.org/browse/MDL-79763)

### core\task\manager

#### Added

- Added adhoc_task_delayed() method to allow an adhoc task to be retried after a delay without marking it as failed. The delay uses exponential backoff based on elapsed time since the task first started, capped at 24 hours.

For more information see [MDL-79763](https://tracker.moodle.org/browse/MDL-79763)

### mod_assign

#### Changed

- The `assign::calculate_penalised_grade()` method now applies grade-item scaling so the returned value now matches the `finalgrade` stored in the gradebook. It also accepts an optional `\grade_grade $usergraderecord` parameter to avoid redundant database lookups. Callers that previously applied their own grade-item scaling to the returned value should remove it to avoid double scaling.

For more information see [MDL-88407](https://tracker.moodle.org/browse/MDL-88407)

## 5.1.4

### core
Expand Down
2 changes: 2 additions & 0 deletions admin/cli/uninstall_plugins.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
*/

define('CLI_SCRIPT', true);
define('IGNORE_COMPONENT_CACHE', true);

require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
Expand Down Expand Up @@ -98,6 +99,7 @@
$DB->set_debug(true);
}

core_plugin_manager::reset_caches();
$pluginman = core_plugin_manager::instance();
$plugininfo = $pluginman->get_plugins();

Expand Down
2 changes: 2 additions & 0 deletions config-dist.php
Original file line number Diff line number Diff line change
Expand Up @@ -817,6 +817,8 @@
//
// $CFG->maxgradesperpage = 200000;
//
// Maximum character length for a user profile description.
// define('USER_DESCRIPTION_MAX_LENGTH', 50000);
//
//=========================================================================
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
Expand Down
205 changes: 205 additions & 0 deletions public/admin/environment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5312,4 +5312,209 @@
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="5.3" requires="4.4">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="11.4.0" />
<VENDOR name="mysql" version="8.4" />
<VENDOR name="postgres" version="17" />
<VENDOR name="mssql" version="15.0" />
<VENDOR name="auroramysql" version="8.0" />
</DATABASE>
<PHP version="8.3.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
<PHP_EXTENSION name="filter" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="zend.exception_ignore_args" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingzendexceptionignoreargs" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK function="\core\environment::check_composer_dependencies_installed" level="optional" />
<CUSTOM_CHECK function="\core\environment::check_composer_developer_dependencies_not_installed" level="optional" />
<CUSTOM_CHECK function="\core\environment::check_composer_dependencies_optimised" level="optional" />
<CUSTOM_CHECK function="\core\environment::check_router_configuration" level="optional" />
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_aurora_version" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
4 changes: 4 additions & 0 deletions public/admin/mnet/peer_forms.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ function validation($data, $files) {
if (strtolower(substr($wwwroot, 0, 4)) != 'http') {
$wwwroot = 'http://'.$wwwroot;
}
$securityhelper = new \core\files\curl_security_helper();
if ($securityhelper->url_is_blocked($wwwroot)) {
return ['wwwroot' => $securityhelper->get_blocked_url_string()];
}
if ($host = $DB->get_record('mnet_host', array('wwwroot' => $wwwroot))) {
$str = get_string('hostexists', 'mnet', (new moodle_url('/admin/mnet/peers.php', ['hostid' => $host->id]))->out());
return array('wwwroot' => $str);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

namespace core_adminpresets\local\setting;

/**
* Executable path setting for admin presets.
*
* @package core_adminpresets
* @copyright 2026 Anupama Sarjoshi <anupama.sarjoshi@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class adminpresets_admin_setting_configexecutable extends adminpresets_admin_setting_configtext {
/**
* Saves the setting value only when $CFG->preventexecpath is unset
* and the path is a valid executable.
*
* @param bool|string $name Setting name to use, or false to use the setting's own name.
* @param mixed $value Setting value to store.
* @return int|false config_log inserted id, or false if nothing was saved.
*/
public function save_value($name = false, $value = null) {
global $CFG;

// When $CFG->preventexecpath is set, executable paths are managed through
// config.php and must not be overwritten by admin presets.
if (!empty($CFG->preventexecpath)) {
return false;
}

// Resolve the value that would be written.
$execpath = ($value !== null) ? $value : $this->value;

// Validate non-empty paths: the target must be an existing, non-directory,
// executable file.
if (!empty($execpath)) {
require_once($CFG->libdir . '/filelib.php');
if (!file_exists($execpath) || is_dir($execpath) || !file_is_executable($execpath)) {
return false;
}
}

return parent::save_value($name, $value);
}
}
Loading