Skip to content

Releases

PHP Checker 1.2.4

Choose a tag to compare

@tvcnet tvcnet released this 13 Nov 00:36

The Hack Repair Guy's PHP Checker 1.2.4

Highlights

  • Exclude Internal.* formatting sniffs: THRG_PC_Engine::process() skips PHPCS Internal.* non-compatibility notices (such as Internal.LineEndings.Mixed) so mixed CRLF/LF endings no longer inflate warning counts.
  • Expanded legacy function_exists() + else & dead-variable guard detection: THRG_PC_Context now recognizes core built-in functions guaranteed on the target PHP version (e.g. error_clear_last in PHP 7.0+), automatically downgrading their unreachable else branches and isset($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 & NeedsInspection deprioritization: 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, and NeedsInspection warnings sort after actionable findings.
  • Broader bundled dependency detection: THRG_PC_Results::file_origin() now classifies libraries/, library/, lib/, libs/, sdk/, sdks/, mailer/, and imap2/ consistently as bundled 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

Choose a tag to compare

@tvcnet tvcnet released this 13 Nov 00:15

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 to opacity: 0.6 (restoring to 1 on 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

Choose a tag to compare

@tvcnet tvcnet released this 13 Nov 00:04

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 to 1 on 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.php to point to https://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

Choose a tag to compare

@tvcnet tvcnet released this 12 Nov 16:52

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 --check passed.
  • 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

Choose a tag to compare

@tvcnet tvcnet released this 12 Nov 01:30

The Hack Repair Guy's PHP Checker 1.2.0

Highlights

  • Weekly or monthly scheduled rescans with update-problem email alerts: THRG_PC_Schedule now 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() and THRG_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, or Still 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_Log adds an opt-in live E_DEPRECATED / E_USER_DEPRECATED collector (with backtrace attribution for WordPress _deprecated_function() calls) plus an on-demand wp-content/debug.log deprecation 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

Choose a tag to compare

@tvcnet tvcnet released this 12 Nov 01:09

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 code vs. in bundled library), a highlighted What to do box, sorted ERROR-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.