Skip to content

I've made a bunch of fixes changes - would they be useful for me to contribute? #256

Description

@verzog

I've worked through this till ci was green and then a bit more with my own dev sites - If this is useful to you I'd like to contribute them. https://github.com/verzog/moodle-local_codechecker

Still a bit new at all this.

V

Moodle Code Checker — Upgrade Changelog (5.1.0 → 5.2.3)

This consolidated changelog for the upgrade cycle (baseline v5.1.0 → v5.2.3) is reconstructed from git history and CHANGES.md. It spans two work sessions: PR #1 (Moodle 5.1/5.2 compatibility — a separate earlier session) and PRs #2#5 (this current session).


RELEASE DETAILS

5.2.3 (2026-05-15) — "Worked examples"
Status: PR #5 (Open, this session)

  • Expanded the on-screen path help with practical worked examples:
    • A standard plugin (local/codechecker)
    • A subplugin (lib/editor/tiny/plugins/bootstrap — the tiny_bootstrap TinyMCE editor plugin)
    • An activity module (mod/forum)
    • A single standalone file
  • Clarified that a component name maps directly to its directory structure.

5.2.2 (2026-05-15) — "Mind the group"
Status: PR #4 (Merged)

  • Core 403 Root-Cause Fix: Updated the check form to submit to the explicit /local/codechecker/index.php endpoint instead of the bare /local/codechecker/ directory URL.
    • The Why: The plugin registers/loads the page as index.php. Posting to the directory forced the web server onto a different, stricter-permission code path, returning a bare 403 Forbidden on "Check" (while the page loaded fine) whenever the plugin directory wasn't traversable by the web server user. The form now uses the same endpoint as the rest of the plugin and no longer depends on server-side directory permissions.
  • Documented the related file-permission guidance in the README.

5.2.1 (2026-05-15) — "Forbidden no more"
Status: PR #3 (Merged)

  • Security/WAF Fix: Process the web check submission in-place instead of doing a Post/Redirect/Get (PRG) pattern.
    • The Why: The PRG redirect placed the filesystem path in the URL query string, which some nginx/WAF rulesets reject with a 403 Forbidden. The path now stays securely in the POST body; a GET fallback is kept for direct links.
  • CI Badge Update: Pointed the README CI badge at this fork instead of upstream moodlehq, so forks accurately show their own pipeline status (Originally PR Codechecker changes made for OU CI server. #2, merged early; carried here).

5.2.0 (2026-05-15) — "G'day, 5.2"
Status: PR #1 (Merged, earlier session)

  • Moodle Compatibility: Confirmed full compatibility with Moodle 5.1 and 5.2.
  • PHPUnit Fixes: Fixed the find_other_files test data-provider keys (notmatches → nomatches) so tests pass under PHPUnit 11 (Moodle 5.0+).
  • Code Style Alignment:
    • Reformatted the plugin's own source code to pass the bundled Moodle CS v3.7.0 standard (formatting only — no behaviour change).
    • Bundled the Moodle CS v3.7.0 coding-style rule sets.
  • CI/CD Pipeline Enhancements (GitHub Actions):
    • Added GitHub Actions CI coverage for Moodle 5.1 (MOODLE_501_STABLE, PHP 8.2–8.4) and Moodle 5.2 (MOODLE_502_STABLE, PHP 8.3–8.4).
    • Raised CI main-branch jobs to PHP 8.3 (Moodle main now requires PHP 8.3.0).
    • Bumped the CI PostgreSQL service to 16 (required by Moodle 5.2 and main).
    • Added the Australia/Sydney timezone to the CI environment.
    • Removed CI testing for legacy Moodle versions before 4.5 (4.1–4.4).
  • Dependency Cleanup: Fixed thirdpartylibs.xml by removing the stale PHPCompatibility entry (unbundled in 5.1.0) that broke the grunt ignorefiles task; synced remaining versions with composer.lock.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions