Repository navigation
Releases
Releases · hackrepair/thrg-php-checker
PHP Checker 1.2.4
The Hack Repair Guy's PHP Checker 1.2.4
Highlights
- Exclude
Internal.*formatting sniffs:THRG_PC_Engine::process()skips PHPCSInternal.*non-compatibility notices (such asInternal.LineEndings.Mixed) so mixed CRLF/LF endings no longer inflate warning counts. - Expanded legacy
function_exists()+else& dead-variable guard detection:THRG_PC_Contextnow recognizes core built-in functions guaranteed on the target PHP version (e.g.error_clear_lastin PHP 7.0+), automatically downgrading their unreachableelsebranches andisset($var)checks for variables only ever assigned in guarded branches. - Fatal vs. non-fatal error wording:
THRG_PC_Results::is_fatal_rule()distinguishes hard fatal rules from non-fatal behavioral/INI removal rules (RemovedIniDirectives,ArgumentFunctionsReportCurrentValue) so component summaries and the top Readiness Verdict banner only warn of fatal crashes when hard-fatal rules are present. - Originating PHP version &
NeedsInspectiondeprioritization:THRG_PC_Results::rule_php_version()extracts and displays the originating PHP version (e.g.since PHP 7.0,since PHP 8.2) in finding tables, andNeedsInspectionwarnings sort after actionable findings. - Broader bundled dependency detection:
THRG_PC_Results::file_origin()now classifieslibraries/,library/,lib/,libs/,sdk/,sdks/,mailer/, andimap2/consistently asbundled dependency.
Verification
phpcs --standard=phpcs.xml.dist: 0 errors, 0 warnings across all 23 plugin PHP files.php tests/run.php: 113 assertions passed.
PHP Checker 1.2.3
The Hack Repair Guy's PHP Checker 1.2.3
Highlights
- 60% opacity for secondary items: Lowered non-blocking (
Review,Compatible, panels), inactive plugin/theme cards, and the left-column Warnings & Review list toopacity: 0.6(restoring to1on hover/focus) so active fatal incompatibilities stand in front. - Left-column Tools & Settings
(?)tooltips: Added(?)pop-out tooltip buttons next to each item in Tools & Settings explaining what each tool and setting is for. - Expand/Collapse all code tables fix: Ensured Expand all code tables / Collapse all code tables toggles and stays in sync with all
<details>drawers inside every finding card (including overflow and guarded-note tables).
Verification
phpcs --standard=phpcs.xml.dist: 0 errors, 0 warnings across all 23 plugin PHP files.php tests/run.php: 103 assertions passed.
PHP Checker 1.2.2
The Hack Repair Guy's PHP Checker 1.2.2
Highlights
- Visual hierarchy & contrast: Softened non-blocking cards (
Review,Compatible, informational panels) and inactive plugin/theme cards to a lighter shade (opacity: 0.82, returning to1on hover/focus) so active fatal incompatibilities stand out in front. - Footer assistance link: Updated the "Need a deeper look or someone to assist with PHP upgrades and security?" contact link in
includes/view-footer.phpto point tohttps://hackguard.com/. - Header subtitle: Simplified the header subtitle in
includes/view-header.php.
Verification
phpcs --standard=phpcs.xml.dist: 0 errors, 0 warnings across all 23 plugin PHP files.php tests/run.php: 103 assertions passed.
PHP Checker 1.2.1
The Hack Repair Guy's PHP Checker 1.2.1
Reliability and security hardening
- Bound pending-update ZIP archives to 256 MiB, 20,000 entries, and 1 GiB of declared uncompressed content before indexing. The existing 2 MiB per-file scan ceiling remains.
- Bind an active scan to its job token and initiating administrator. Atomic claims and a step lock prevent overlapping requests from replacing scan state; a stale step cannot restore a stopped job.
- Attribute runtime deprecations correctly when PHP reports a canonical plugin path that differs from WordPress's symlinked plugin directory.
- Select the release asset whose filename exactly matches the tagged version, regardless of asset order.
- Remove tracked per-user email cooldown transients during uninstall.
Maintenance
- Split report evaluation and formatting from the request controller, and split admin view preparation and panels into separate files without changing the report layout.
- Expanded scanner, ZIP, runtime-handler, token-guard, updater, and uninstall fixtures.
Verification
php tests/run.php: 103 assertions passed.phpcs --standard=phpcs.xml.dist: 23/23 first-party PHP files passed with no errors or warnings.- JavaScript syntax and
git diff --checkpassed. - Reviewed the local WordPress admin page in Ego Lite, including scan controls, verdict, component report, settings, and footer. This was a local test, not a production deployment test.
PHP Checker 1.2.0
The Hack Repair Guy's PHP Checker 1.2.0
Highlights
- Weekly or monthly scheduled rescans with update-problem email alerts:
THRG_PC_Schedulenow supports both Weekly (default, with day-of-week selector) and Monthly (day 1–28) schedules, automatically rescanning against the next PHP version and pre-scanning pending updates so administrators receive an email alert whenever an update or the next PHP version has known compatibility problems. - "Fixed in a newer WordPress.org version" verification:
THRG_PC_Prescan::check_wporg_fix()andTHRG_PHP_Checker::component_finding()check whether a plugin from WordPress.org that fails a scan has a newer release, stream-scan the newer package in memory against the target PHP version, and badge the plugin card (Fixed in vX.Y on WordPress.org,Fatal errors fixed in vX.Y, orStill fails in vX.Y) with a one-click Check if fixed on WP.org button. - Runtime PHP deprecation notice log, grouped by plugin:
THRG_PC_Runtime_Logadds an opt-in liveE_DEPRECATED/E_USER_DEPRECATEDcollector (with backtrace attribution for WordPress_deprecated_function()calls) plus an on-demandwp-content/debug.logdeprecation importer, displaying deduplicated notices, hit counts, and timestamps grouped by plugin or theme. - Companion tool recommendation: Added a recommendation in Support & Companion Tools for pairing PHP Checker with our free The Hack Repair Guy's Plugin Detective plugin when testing plugins and PHP upgrades.
Verification
phpcs --standard=phpcs.xml.dist: 0 errors, 0 warnings across all 17 plugin PHP files.php tests/run.php: 41 assertions passed.
PHP Checker 1.1.0
thrg-php-checker 1.1.0
- Client-first report hierarchy: Incompatible plugins and themes (
breaks) now appear right at the top of Checks & Findings above the fold, followed by deprecation warnings, server PHP lifecycle status, and a collapsible table of compatible components. - Plain-English Readiness Verdict banner: Added a top summary callout below the scan toolbar that immediately answers whether the site is ready for the target PHP version or which plugin blocks the upgrade.
- Accurate summary counts: Removed the redundant scan-coverage meta card once components are scanned (fixing double-counting in the red Summary Tile, Report History, and Email subject lines) and suppressed the Pending Update Compatibility card when Update Pre-Scan is disabled.
- Streamlined cards & collapsible technical drawers: Replaced repetitive boilerplate text on component cards with header origin badges (
in plugin codevs.in bundled library), a highlighted What to do box, sortedERROR-first tables, and collapsible<details>code drawers (collapsed by default so cards stay clean, capped at 8 initial rows when opened with an overflow drawer, plus an Expand all code tables button). - Grouped navigation & polish: Reorganized the left sidebar into urgency groups (Action Needed, Warnings & Review, Passed Checks, Tools & Settings) with issue-count badges, expanded bundled library detection (
Pear,PHPMailer,TCPDF,Dompdf,mPDF,vendor-prefixed), and fixed[hidden]button specificity and rule-code table wrapping.
No changes to stored option schemas; existing cached scan results and report history are preserved.