- This repository has moved its default branch from "master" to "main".
- Tests updated to suit Moodle 4.4dev requirements.
- Bundled dependencies updated:
- IMPORTANT - New (raised) requirements:
- PHP 7.4 and up supported (previously PHP 7.0 and up).
- Moodle v3.8.3 and up supported (previously Moodle v3.7.0).
- Changed the process to build the plugin. Until now it was a tedious process, manually copying all the dependencies within the plugin (
PHP_CodeSniffer
,PHPCompatibility
,PHPCSExtra
,PHPCSUtil
andmoodle-cs
). Now all the dependencies are managed via Composer and the plugin comes with thevendor
directory ready to be used. - This change has been applied for improving the release process, and towards 100% automating it, now that the plugin is just a Web/CLI wrapper over all the tools listed above.
- The old 4.x series will not receive more updates (unless absolutely needed).
- Bundled dependencies updated:
- Bundled dependencies updated:
- moodle-cs updated to v3.3.8.
- PHPCSExtra updated to 1.1.2. It was missing in the previous release!
- Various small internal CI changes:
- PHP 8.2 support.
- Bundled dependencies updated:
- PHPCompatibility updated to 10.0dev (0a17f9ed).
- PHPCSUtils updated to 1.0.8.
- moodle-cs updated to v3.3.5.
- Various small internal CI changes:
- 402_STABLE support.
- moodle-plugin-ci updated to v4.0.0.
- Bundled dependencies updated:
- PHP_CodeSniffer updated to 3.7.2.
- PHPCompatibility updated to 10.0dev (70e4ca24).
- PHPCSUtils updated to 1.0.5.
- moodle-cs updated to v3.3.4.
- Various small internal changes:
- 401_STABLE CI support.
- Prepare for 4.2 new requirements.
- PHP 8.1 fixes.
- Bundled dependencies overhaul:
- moodle-cs updated to 3.3.1 (from 3.2.4).
- PHPCompatibility updated to 10.0dev (2fb82334).
- PHPCSUtils updated to 1.0.1.
- PR#205: Allow CRLF (Windows) line ending in .csv testing fixtures (stronk7).
- PR#206: Fix various links to point to the new coding style docs (Tim Hunt).
- PR#209: Solve a problem, specially noticeable under Windows, where core's PHP_CodeSniffer configuration was interfering with codechecker runs (stronk7).
- PR#192, PR#197: Various fixes to own CI tests (stronk7).
- PR#193: Move to use the moodle-cs standard that is now the source for everything else and should be the one used for all (tools, editors, IDEs...) integration. (Andrew Lyons and stronk7). This change includes, noticeably:
- PHP_CodeSniffer updated to current 3.7.1.
- moodle-cs updated to current 3.2.4+.
- Adjust tests, docs and other bits to keep everything working.
- PR#199: Correct handling of empty files (Michael Milette).
- PR#200: Fix GitHub repository URLs (David Mudrák).
- PR#176: Avoid some
use
statements to make theMOODLE_INTERNAL
check to be required (stronk7). - PR#177: Make it possible to show the erroring standard/sniff/rule in the UI executions (Ruslan Kabalin).
- PR#178: Warn, for Moodle 4.0 and up, about unit tests missing coverage information (stronk7).
- PR#180: Allow
@codeCoverageIgnore
annotations in inline comments (stronk7). - PR#181: Apply the
ValidFunctionName
sniff to all scoped tokens (stronk7). - PR#183: Ensure that the "other" checks do observe UI defined exclusions (stronk7).
- PR#186: Add support for installing via Composer (Andrew Lyons).
- PR#190: Control spacing around array indexes (stronk7).
- PR#191: Fix a problem about not detecting relevant code in files without any artifact (stronk7).
- Various small fixes and tweaks.
- PR#174: Lower the unexpected MOODLE_INTERNAL check to be a warning, instead of error, as originally planned (stronk7).
- PHP_CodeSniffer upgraded to 3.6.2 release (stronk7).
- PR#164: Make testcase class names to be fixable by
phpcbf
(stronk7). - PR#167: Verify that tescase location matches sub-namespace definition (stronk7).
- PR#168: Check class opening curly brackets correctness (kabalin).
- PR#169: Report unexpected MOODLE_INTERNAL uses (stronk7).
- PR#172: Allow phpcs:xxx annotations in the first line of files (stronk7).
- Small doc changes and typo fixes here and there.
- PR#162: Downgrade some recently code added to the "moodle" standard to make it PHP 7.0 compliant, needed to continue supporting old branches by various tools (stronk7).
- Various internal changes and improvements:
- Own conformance with new PHPUnit naming rules.
- New MoodleUtil class to be able to detect Moodle dir root, branch and components (calculated or imported) within code checker. This new awareness will help improving various sniffs.
- Drop some Moodle own < 3.7 testing. Code checker continues supporting Moodle 3.4 and up.
- Improvements to the base test case, now able to automatically verify
phpcbf
fixes. - Bye, bye to Travis for self-tests. Now relying only on GHA.
- PR#155: Make some common errors to be fixable by
phpcbf
(cameron1729). - PR#158: Fixes for the MOODLE_INTERNAL sniff to better detect some allowed exceptions (stronk7).
- PR#161: New sniff to follow PHPUnit files, classes and namespaces naming rules (stronk7).
- Various internal changes and improvements:
- Removed some legacy code (33_STABLE) and out of support 7.1 tests.
- Disable coverage reporting in Travis own builds.
- Added PHP 8.0 support in own tests.
- Fulfill Moodle 4.0 requirements.
- Make mariadb own tests sticky to 10.5 until MDL-72131 is fixed.
- PR#146: Suggest debugging() as alternative to error_log() (Ruslan Kabalin).
- PR#148: Verify that there is one and only one EOL @ EOF (stronk7).
- Various internal changes and improvements:
- Travis and GHA support updated.
- Support docker login to workaround anonymous pull limits.
- Added instructions to work with VSCode.
- Apply for own
coverage.php
to better define coverage reporting.
- PR#132: jsonSerialize() is now a valid function name (Tobias Goltz).
- PR#136: Added support for --exclude option in the CLI runner (Adrian Perez).
- PR#139: Added check for
abstract/final/static
positioning in function declarations (stronk7). - PR#141: Deprecated
print_error()
(stronk7). - PR#143: Added support for
return new class extends
PHPDoc blocks (stronk7).
- Upgrade to PHP_CodeSniffer 3.5.8 (stronk7):
- PHP_CodeSniffer move to phpcs directory (see readme_moodle.txt for complete instructions).
- Move Moodle sniffs to PHP_CodeSniffer 3.
- Create own runner/report.
- Move as much as possible from locallib.php to classes.
- Add PHPUnit 8 compatibility, keeping PHPUnit 6 working.
- Min Moodle version required increases from 3.2 to 3.4.
- PR#90: Adapt custom PHP_CodeSniffer runner (classes/runner.php) to use PHP_CodeSniffer 3 API (Sara Arjona).
- PR#95: Unlock session before processing files (Víctor Déniz).
- PR#83 and PR#84: Allow a list of files to be checked (Sam Marshall).
- PR#80: Remove require of now-deleted coursecatlib.php (Jun Pataleta).
- Several travis changes:
- Small README changes: information section improved and travis status badge update to show travis.com build status.
- PR#75 and PR#77: Small tweaks for better transition to phpcs3.
- CONTRIB-8122: Stop processing non-php files (runner and UI).
- PR#63: Make MOODLE_INTERNAL check declare() aware (Peter Burnett).
- PR#72: Minor php74 fixes and travis refactor.
- CONTRIB-8024: Process all files as UTF-8 encoded (defined @ standard level).
- CONTRIB-6175: Only process PHP files (defined @ standard level).
- PR#69: Upgrade PHPCompatibility to 9.3.5+ (9fb3244).
- CONTRIB-8031: Detect wrong uses of $PAGE and $OUTPUT in renderers and blocks (Tim Hunt).
- MDLSITE-6093: Don't require MOODLE_INTERNAL check for pure 1-artifact (class, interface, trait) files.
- PR#65: PHP 7.4 support.
- PR#64: Add Travis support for 38 and 39 branches.
- PR#62: Improved command line instructions (Steven McCullagh).
- PR#60: Added support for
require_admin
since MDL-58439 (Brendan Heywood). - CONTRIB-7165: Allow type-hint for foreach variable (Daniel Thee Roperto).
- PR#58: Allow tearDownAfterClass as a valid function name (Mikhail Golenkov).
- MDLSITE-5908: Respect eslint configuration comments in JS files (Ruslan Kabalin).
- Various README, thirdpartylib, travis fixes (Tobias Uhmann and others).
- NOBUG: Some minor changes towards stable travis builds.
- INCOMPETENCE: Fix the version.php information that Eloy missed for 2.9.2 :-)
- NOBUG: Updated PHP_CodeSniffer to 2.9.2+ (4665f64).
- NOBUG: Updated PHPCompatibility to 9.1.1+ (4487042)
- NOBUG: Added support for PHP 7.3 and Moodle 3.6/3.7dev.
- MDLSITE-5660: Allow spaced, non spaced and nullable return types in function/method declarations.
- NOBUG: Upgrade PHPCompatibility to 8.1.0+ (609be5c).
- MDLSITE-2825: Allow obj-op / fluid interfaces + indentation (4 char) checks.
- PR#46: Privacy support (null provider).
- NOBUG: Bump to moodlerooms/moodle-plugin-ci v2. Apply to 32_STABLE and up in travis conf. Problems with behat forces us to keep it disabled.
- PR#45: Upgrade PHPCompatibility to 7.1.5. (Mark Nielsen)
- PR#41: Allow newline characters before or after object operators. (Ankit Agarwal)
- PR#40|: Update PHPCompatibility to 7.1.4. (Mark Nielsen)
- NOBUG: Add instructions for use with Sublime Text editor. (Maria Sorica)
- CONTRIB-6619: Make behat tests pass under Boost.
- MDLSITE-3688: Detect missing login checks and side effects on internal check. (Dan Poltawski)
- NOBUG: Travis: Add support for 32 and 33 stable runs.
- NOBUG: Updated PHP_CodeSniffer to 2.7.0 version.
- NOBUG: Updated PHP_CodeSniffer to 2.6.2 version.
- MDLSITE-3688: Verify all files have MOODLE_INTERNAL or require config.php (Dan Poltawski)
- PR#31: Avoid PHPUnit's setUpBeforeClass() to generate CS errors. (David Mudrák)
- NOBUG: Adjust php combinations for travis testing on multiple branches.
- PR#29: Allow http_response_header global. (Andrew Downes)
- NOBUG: Add travis support (using the nice moodle-plugin-ci assistant for Moodle plugins).
- NOBUG: Upgrade PHP_CodeSniffer to 2.6.0 version. (Mark Nielsen)
- CONTRIB-5921: Exclude yui/amd and fixtures by default. (Brendan Heywood)
- CONTRIB-6206: Fixed indentation issues when mixing functions and arrays. Bundled PHP_CodeSniffer upgraded to 2.6.2 dev version.
- MDLSITE-4197: Allow backticks within lang strings. Valid Markdown.
- CONTRIB-6146: Better handling of indentation in files having multiple PHP blocks.
- Moving away from our custom indentation Sniff.
- Using upstream Generic.Whitespace.ScopeIndent, with open/close tags rooting indentation.
- Added Generic.Whitespace.DisallowTabIndent (to detect tabs within codechecker).
- Better coverage of indentation tests.
- NOBUG: Upgrade PHP_CodeSniffer to pre 2.6.0 version (8c5d176).
- Pull request #19. Minor changes to make it work with CS 2.x (Corey Wallis).
- CONTRIB-5175: Better modifiers matching in regexps.
- CONTRIB-5732: Upgrade to recent version (Mark Nielsen):
- Upgrade PHP_CodeSniffer to 2.5.1+ (b506fcd).
- Upgrade PHPCompatibility to PHP 5.6 release.
- Renew various moodle Sniffs using their updated sources.
- Fixes to reporting API, unit tests...
- Allow the UI to skip warnings (warningSeverity).
- CONTRIB-6025, CONTRIB-6105: Allow type hinting phpdoc blocks, supported both in variable/list assignments and variable actions.
- NOBUG: Improve moodle standard unit test coverage.
- NOBUG: Added some UI acceptance tests.
- CONTRIB-5240: Fix CamelCase problems (so it works ok on any OS, no matter its file case-sensitiveness).
- NOBUG: Allow clone() (T_CLONE) to be used as function.
- NOBUG: Add some sensible exclude defaults (Tim Hunt).
- NOBUG: Sort results by path (Tim Hunt).
- CONTRIB-5175: Fixed some regexp false positives (CONTRIB-4146 regression).
- MDLSITE-2800: Upgrade to CS 1.5.3.
- Exclude the DefaultTimezoneRequired sniff properly.
- Upgrade the PHPCompatibility standard to current version.
- CONTRIB-4146: Forbid the use of some functions/operators.
- extract().
- eval() - no matter we are aware of few places where they are ok to be used.
- goto and goto labels.
- preg_replace() with /e modifier.
- backticks shell execution.
- backticks within strings.
- MDLSITE-3150: Forbid use of AS keyword for table aliasing.
- CONTRIB-4876: Upgrade to CS 1.5.2.
- (internal) Changes to use new APIs (sniffs and reporting). Applied to the web client, the CLI (run.php) and testing framework.
- (internal) Renderer modified to work based on a reported xml structure (SimpleXMLElement).
- Added new option to the CLI about running in interactive mode.
- Beautify the web report, grouping problems per line of code.
- CONTRIB-4742: Fix incorrect thirdpartylibs.xml debugging for Windows.
- CONTRIB-4705: Convert own txt files to markdown.
- NOBUG: Better instructions for integration with phpStorm (Dan Poltawski).
- NOBUG: Instruct checker about some more valid globals (Sam Hemelryk).
- NOBUG: New sniffs to verify spaces around operators (Ankit Agarwal).
- NOBUG: Internal cleanup.
- CONTRIB-4696: Add support for new 2.6 distributed thirdpartylibs.xml.
- NOBUG: Update phpcompatibility standard with latest changes (plus testing).
- MDLSITE-2106: Detect underscores in variable names.
- MDLSITE-2205: Allow 20-120 chars long hyphen commenting-separators.
- NOBUG: Fixed some dev warnings under 2.5.
- CONTRIB-4160: fail tests if there are unexpected results (errors & warnings).
- CONTRIB-4150: allow phpdocs block before define().
- CONTRIB-4186: fix CSS / rendering of results.
- CONTRIB-3582: allow to specify excluded paths.
- CONTRIB-3562: skip indentation checks on inline html sections within PHP code.
- CONTRIB-4151: added moodle phpunit support (via local_codechecker_testcase).
- CONTRIB-4149: added phpcompatibility sniffs (git://github.com/wimg/PHPCompatibility.git).
- CONTRIB-4145: upgrade to PHPCS 1.4.4.
- CONTRIB-4144: add (this) CHANGES.txt file.
- add some well known globals to avoid reporting them.
- don't check .xml files (Tim Hunt).
- maturity stable.
- added plugin icon.
- fixed copy/paste typo @ version.php.
- accept inline comments starting by digit (Tim Hunt).
- improve line length check on non-php files (Tim Hunt).