Compatibility Requirements #
Control which client environments are eligible to receive a specific version update.
What Are Compatibility Requirements? #
When your software has system dependencies, not every customer environment can safely install every version. Compatibility requirements let you block an update for clients whose environment does not meet your requirements.
Supported Compatibility Fields #
| Field | Description | Example |
|---|---|---|
| WordPress Minimum | Oldest WP version supported | 6.0 |
| WordPress Maximum | Newest WP version tested (optional) | 6.8 |
| PHP Minimum | Oldest PHP version supported | 7.4 |
| PHP Maximum | Newest PHP version tested (optional) | 8.3 |
How Compatibility Checking Works #
Clients send environment data with their update check request:
{
"license_key": "XXXX-XXXX-XXXX-XXXX",
"product_id": 42,
"current_version": "1.0.0",
"channel": "stable",
"platform": "wordpress",
"environment": {
"wp_version": "6.4.3",
"php_version": "8.1.0"
}
}
The API compares the client's reported environment against the version's compatibility fields:
- If WP version is below minimum: no update available
- If WP version is above maximum: no update available
- Same for PHP minimum and maximum
The client is told no update is available; it does not receive an error message about compatibility.
Maximum Version Fields #
Setting a maximum version is optional. Leave blank for "no upper limit." Set a maximum only if you have tested and know the version does NOT work on a higher environment (e.g., a WordPress version with a breaking change).
Custom Compatibility #
For non-WordPress/PHP requirements (e.g., OS version, app framework version), you can store custom compatibility data in the compatibility_data meta key as JSON: {"key": {"min": "x", "max": "y"}}.
Custom compatibility checking is handled via the dmsilm_us_custom_compatibility_check filter in custom code.
