Skip to content

Update to Moodle v5.1.6 from v5.1.4 - #63

Open
github-actions[bot] wants to merge 496 commits into
UCSFCLE_501_STABLEfrom
Merge-Moodle-v5.1.6
Open

Update to Moodle v5.1.6 from v5.1.4#63
github-actions[bot] wants to merge 496 commits into
UCSFCLE_501_STABLEfrom
Merge-Moodle-v5.1.6

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

Automated Moodle upgrade

From: v5.1.4
To: v5.1.6
Upstream branch: MOODLE_501_STABLE

mickhawkins and others added 30 commits June 22, 2026 14:37
penalty_manager was calling update_raw_grade() with the penalised value
overwriting grade_grades.rawgrade. This caused penalties to accumulate
on repeated application and made get_grade_before_penalties() return an
already penalised value.

Fixed by updating only finalgrade and deductedmark, keeping rawgrade as
the authoritative unpenalised source.
Also updated get_grade_before_penalties() to return rawgrade.
calculate_penalised_grade() returned the raw penalised grade without
applying grade item factors, causing it to differ from the gradebook
finalgrade.

Apply grade item factors before returning the result.
Darken `$form-switch-color` so that it meets the 3:1 non-text contrast
ratio required by WCAG 2.2 SC 1.4.11 Non-text Contrast (Level AA)
The badzones had original mappings. When new mappings were added that
were for timezones that were previously considered the "good" zones, the
original mappings were not updated to match. So A -> B and then B -> C,
but the A -> B was never changed from A -> C.

Additionally, the fixture file is some static thing from somewhere at
some time, and it contains many timezone entries that are already in the
badzones mapping array, but the mapping array is not applied to the
values that come from the fixture file, so we have these old timezone
values that we already know are bad, but we have not been mapping them,
which is fine until the aliases get removed from systems (like mine).
Rather than update the fixture file each time, let's use the function
that we already wrote to perform the mapping.
The earlier commit has a potential problem: by using the
normalise_timezone() function for both sides of the comparison, it is
possible for the "fallback" logic within the function to return the
default timezone for both values. This would mean that the test could
pass incorrectly if both the tested timezone and the expected timezone
were both unsupported values.

Feel free to drop this commit if you believe I'm overthinking this.
HuongNV13 and others added 27 commits August 5, 2026 12:06
By specifying a "non-empty" userid (that of our fake user), we ensure
that visibility checks for the field function correctly in reports.
Improve the handling of the temporary user object used during signup
password policy validation.

The updated implementation uses more appropriate default values while
preserving the existing validation behaviour.
Add a fake auth plugin fixture implementing check_password_policy()
that captures the $user object it receives, and a test asserting
signup_validate_data() forwards a temporary user with id 0 rather
than a real user's id.
Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.