Skip to content

Add Moodle 5.3 support, declare 4.0 - 5.3 support - #165

Merged
adrian-sarmas merged 1 commit into
masterfrom
moodle-53-support
Oct 12, 2026
Merged

adrian-sarmas merged 1 commit into
masterfrom
moodle-53-support

Conversation

@adrian-sarmas

Copy link
Copy Markdown
Collaborator

Adds Moodle 5.3 to the supported range without dropping 4.0 - 5.2.

Changes

  • External functions: Moodle 5.3 deprecates the global external_* class names, and using them now emits debugging (which fails PHPUnit and Behat). get_entry, set_text, save_feedback and view_journal now use the core_external classes.
  • classes/external/journal_external_api_base.php (new): replaces the compatibility block that was duplicated in each of the four classes. On Moodle 4.0 and 4.1, where core_external does not exist, it aliases the global classes into that namespace.
  • lib.php: removed the FEATURE_GROUPMEMBERSONLY case, deprecated in 5.3 and unused by core since 2.8.
  • version.php: supported is now [400, 503], release 5.3.0 (2026101200). requires is still Moodle 4.0.
  • CI: added four MOODLE_503_STABLE jobs (PHP 8.3 and 8.4, pgsql and mariadb). Those jobs use PostgreSQL 17 and MariaDB 11.4, which 5.3 requires; other branches stay on 16 and 10.11. The MariaDB health check now uses mariadb-admin ping for all jobs, because mysqladmin is not in the MariaDB 11 images.

Testing

PHPUnit mod_journal_testsuite run locally, 26 tests / 57 assertions passing on both ends of the range:

  • Moodle 5.3 (Build: 20261005), PHP 8.4.26, MySQL 8.4
  • Moodle 4.0.12, PHP 7.4.33, MySQL 8.4

Not run locally: Behat, the versions in between, PostgreSQL/MariaDB, and the code checker. CI on this PR covers those.

Moodle 5.3 deprecates the global external_* class names, which now emit
debugging when used. The external functions use the core_external classes
instead, and a shared journal_external_api_base file aliases the global
classes into core_external on Moodle 4.0 and 4.1, where the namespace does
not exist yet.

Remove the FEATURE_GROUPMEMBERSONLY case, deprecated in 5.3 and unused by
core since 2.8.

Add MOODLE_503_STABLE to the CI matrix with PostgreSQL 17 and MariaDB 11.4,
which 5.3 requires, and use mariadb-admin for the MariaDB health check.
@adrian-sarmas
adrian-sarmas merged commit f707857 into master Oct 12, 2026
108 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant