=== Instant Programming Compatibility Scanner for PHP 8 ===
Contributors: instantprogramming
Tags: php8, compatibility, migration, deprecated, php
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Finds PHP 8.0–8.4 incompatibilities in your plugins and theme, and produces a report a non-developer can read.

== Description ==

Your host is moving your site to PHP 8.2 and you want to know what will break? This plugin analyzes the code actually installed in wp-content (plugins, active theme, mu-plugins) and reports what fails under PHP 8.0 to 8.4.

Findings are separated into **fatal breakage** (the site stops loading) and **silent failure** — code that raises no visible error while a contact form or a checkout stops doing its job. The two need different responses, so the report keeps them apart.

The scan detects, among other things:

* functions removed in PHP 8 (`create_function`, `each`, `mysql_*`, `mcrypt_*`…) and pre-PHP 7 relics;
* removed syntax that prevents a file from loading at all (`$string{0}` offsets, unparenthesized nested ternaries);
* `$this` in static context, static calls to instance methods, PHP 4-style constructors silently ignored by PHP 8;
* optional parameters declared before required ones, implicit nullable types (PHP 8.4), dynamic properties (PHP 8.2), `null` passed to non-nullable internal functions (PHP 8.1).

Every issue is classified by severity, explained in plain language, located (file + line) and given a fix-time estimate. The report can be printed to PDF from your browser.

**Privacy and safety.** The analysis is **static**: your site's code is **never executed**. The plugin modifies **no** files and makes **no** network requests to any external service. Nothing leaves your server.

**Free scanner, optional repair service.** The scanner is and stays fully functional and free — nothing is locked. If a scan finds issues that automatic patches can cover, it shows a single dismissible suggestion for [WP Rescue Repair](https://wprescue.instant-programming.com/repair/), our separate paid service: verified patches applied with a safety net (canary that rolls back by itself, targeted snapshots, out-of-WordPress rescue page). Hide the suggestion once and it stays hidden.

The plugin is fully translated into French (français).

== Frequently Asked Questions ==

= Does the plugin modify my site? =

No. It is strictly read-only: it reads PHP files and produces a report. No writes, no automatic fixes.

= Is my site's code sent anywhere? =

No. The whole analysis happens on your server. The plugin contacts no third-party service.

= What does "silent failure" mean? =

A piece of code that, on PHP 8, does not raise any visible error but stops doing its job (for example an email send or an AJAX call). The site appears to work while a key feature is broken.

= An issue is reported but my site still works. Why? =

Some incompatibilities (PHP 8.1–8.4 deprecations) do not break anything yet: they fill up the server logs and will break in a future PHP version. The report classifies them as "Cleanup needed", separate from fatal breakage.

= Is there a paid version? =

The scanner itself is entirely free — no locked features, no trial. Separately, WP Rescue Repair (a paid service) can apply verified fixes for the breaking issues this scanner finds, protected by a canary that rolls the site back automatically if anything goes wrong. After a scan with repairable issues, the plugin shows at most one suggestion about it, which you can hide permanently with one click.

== Screenshots ==

1. Scan summary by severity, with estimated fix time.
2. Printable report, readable by a non-developer.

== Changelog ==

= 1.0.0 =
* Initial release: PHP 8.0–8.4 scan of wp-content, severity classification, printable report. Available in English and French.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
